Задать вопрос
@KYSKYN

Не могу запустить сервер rails, не находит гем SQLite3, в чём проблема?

Ошибка
rails s
/home/ismail/.rbenv/versions/2.6.1/lib/ruby/2.6.0/bundler/gem_helpers.rb:5: warning: already initialized constant Bundler::GemHelpers::GENERIC_CACHE
/home/ismail/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/gem_helpers.rb:5: warning: previous definition of GENERIC_CACHE was here
/home/ismail/.rbenv/versions/2.6.1/lib/ruby/2.6.0/bundler/gem_helpers.rb:6: warning: already initialized constant Bundler::GemHelpers::GENERICS
/home/ismail/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/gem_helpers.rb:6: warning: previous definition of GENERICS was here
/home/ismail/.rbenv/versions/2.6.1/lib/ruby/2.6.0/bundler/gem_helpers.rb:52: warning: already initialized constant Bundler::GemHelpers::PlatformMatch
/home/ismail/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/bundler-2.0.1/lib/bundler/gem_helpers.rb:52: warning: previous definition of PlatformMatch was here
Could not find gem 'sqlite3' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.


Вывод терминала после команды bundle install:

The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/............
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies.....
Using rake 12.3.2
Using concurrent-ruby 1.1.4
Using i18n 1.6.0
Using minitest 5.11.3
Using thread_safe 0.3.6
Using tzinfo 1.2.5
Using activesupport 5.2.2
Using builder 3.2.3
Using erubi 1.8.0
Using mini_portile2 2.4.0
Using nokogiri 1.10.1
Using rails-dom-testing 2.0.3
Using crass 1.0.4
Using loofah 2.2.3
Using rails-html-sanitizer 1.0.4
Using actionview 5.2.2
Using rack 2.0.6
Using rack-test 1.1.0
Using actionpack 5.2.2
Using nio4r 2.3.1
Using websocket-extensions 0.1.3
Using websocket-driver 0.7.0
Using actioncable 5.2.2
Using globalid 0.4.2
Using activejob 5.2.2
Using mini_mime 1.0.1
Using mail 2.7.1
Using actionmailer 5.2.2
Using activemodel 5.2.2
Using arel 9.0.0
Using activerecord 5.2.2
Using mimemagic 0.3.3
Using marcel 0.3.3
Using activestorage 5.2.2
Using public_suffix 3.0.3
Using addressable 2.6.0
Using io-like 0.3.0
Using archive-zip 0.12.0
Using bindex 0.5.0
Using msgpack 1.2.7
Using bootsnap 1.4.1
Using bundler 2.0.1
Using byebug 11.0.0
Using regexp_parser 1.3.0
Using xpath 3.2.0
Using capybara 3.14.0
Using ffi 1.10.0
Using childprocess 0.9.0
Using chromedriver-helper 2.1.0
Using coffee-script-source 1.12.2
Using execjs 2.7.0
Using coffee-script 2.4.1
Using method_source 0.9.2
Using thor 0.20.3
Using railties 5.2.2
Using coffee-rails 4.2.2
Using multi_json 1.13.1
Using jbuilder 2.8.0
Using rb-fsevent 0.10.3
Using rb-inotify 0.10.0
Using ruby_dep 1.5.0
Using listen 3.1.5
Using puma 3.12.0
Using sprockets 3.7.2
Using sprockets-rails 3.2.1
Using rails 5.2.2
Using rubyzip 1.2.2
Using sass-listen 4.0.0
Using sass 3.7.3
Using tilt 2.0.9
Using sass-rails 5.0.7
Using selenium-webdriver 3.141.0
Using spring 2.0.2
Using spring-watcher-listen 2.0.1
Fetching sqlite3 1.4.0
Installing sqlite3 1.4.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/home/ismail/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/sqlite3-1.4.0/ext/sqlite3
/home/ismail/.rbenv/versions/2.6.1/bin/ruby -I
/home/ismail/.rbenv/versions/2.6.1/lib/ruby/2.6.0 -r
./siteconf20190310-12325-1wuyf58.rb extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Try 'brew install sqlite3',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
and check your shared library search path (the
location where your sqlite3 shared library is located).
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/home/ismail/.rbenv/versions/2.6.1/bin/$(RUBY_BASE_NAME)
--with-sqlcipher
--without-sqlcipher
--with-sqlite3-config
--without-sqlite3-config
--with-pkg-config
--without-pkg-config
--with-sqlcipher
--without-sqlcipher
--with-sqlite3-dir
--without-sqlite3-dir
--with-sqlite3-include
--without-sqlite3-include=${sqlite3-dir}/include
--with-sqlite3-lib
--without-sqlite3-lib=${sqlite3-dir}/lib

To see why this extension failed to compile, please check the mkmf.log which can
be found here:

/home/ismail/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/extensions/x86_64-linux/2.6.0-static/sqlite3-1.4.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/home/ismail/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/sqlite3-1.4.0 for
inspection.
Results logged to
/home/ismail/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/extensions/x86_64-linux/2.6.0-static/sqlite3-1.4.0/gem_make.out

An error occurred while installing sqlite3 (1.4.0), and Bundler cannot
continue.
Make sure that `gem install sqlite3 -v '1.4.0' --source 'https://rubygems.org/'`
succeeds before bundling.

In Gemfile:
sqlite3
ismail@ismail


Версия ruby:
ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux]
Версия rails:
rails 5.2.2
Версия npm:
3.5.2
Версия rbenv(Инсталяция руби и рельсов производилась через него):
rbenv 1.1.1-40-g483e7f9

Не могу понять почему не установился SQLite3 и собственно как его установить.
  • Вопрос задан
  • 725 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@AVKor
Из вывода.
checking for sqlite3.h... no
sqlite3.h is missing. Try 'brew install sqlite3',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
and check your shared library search path (the
location where your sqlite3 shared library is located).

Сообщения-то читать надо.
Ответ написан
Комментировать
@Wamsmer
Попробуйте прописать в gemfile конкретную версию sqlite3 (Например: gem 'sqlite3', '~> 1.3.6') и запустите bundle install.
И проверьте, точно ли никакая версия sqlite3 не установлена ($ sqlite3 -v). Если установлена, то удалите указав версию.
У меня с 1.4.0 не хотел работать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы