Когда я пытаюсь настроить базовую установку и запуск сервера с помощью Rails 4.0.0 на Ruby 2.0.0, я получаю следующее сообщение об ошибке.
/usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)
from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `rescue in <top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:2:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
from /home/penchal/new/site/config/application.rb:7:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:76:in `require'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:76:in `block in <top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
Как мне избежать появления этого сообщения об ошибке и продолжить работу?
ruby-on-rails
sqlite
Пенчала Редди Одредди
источник
источник
Ответы:
Найдите свой файл gemspec sqlite3. Одним из примеров является
/usr/local/share/gem/specifications/sqlite3-1.3.7.gemspec
Окна
C:\Ruby21\lib\ruby\gems\2.1.0\specifications
.Вы должны настроить в соответствии с вашим путем Rubygem и версией sqlite3. Отредактируйте файл выше и найдите следующую строку
измените это на
источник
см. :https://stackoverflow.com/a/39136421/6755206
к счастью, вам не нужно переходить на Ruby 2.0
, после бесконечных попыток есть решение этой проблемы ...
https://github.com/hwding/sqlite3-ruby-win
Шаги
Предварительно
gem uninstall sqlite3 --all
Источник
Построить
gem install bundler
bundle install
rake native gem
Установить
gem install --local sqlite3-xxx.gem
('xxx' - код версии)Проверьте
irb
require 'sqlite3'
источник
pkg
.you'll find a dir named 'pkg' generated
пока нигде не видел такой директории. Решение @Edson Momm ниже сработало для меня.Поскольку запрос на вытягивание № 229 был объединен, sqlite3 можно установить для каждого
git:
ключа. С помощью этого дополнения можно легко использовать sqlite3 в вашихGemfile
:Это работает на RubyInstaller-2.4 и новее. Он автоматически устанавливает необходимый пакет pacman
mingw-w64-x86_64-sqlite3
при запускеbundler install
.Есть еще несколько советов по Rails в Windows в FAQ RubyInstaller2 .
источник
gem uninstall sqlite3 --all ridk exec pacman -S mingw-w64-x86_64-sqlite3 gem inst sqlite3 --platform ruby
Это решило проблему для меня.
источник
bundle install
, чтобы установить новый гем, я снова сталкивался с этой проблемой, и мне нужно было бы повторить вышеуказанные шаги.Просто отредактируйте Gemfile и добавьте
gem 'sqlite3', platform: :ruby
.источник
Никакая компиляция исходников или загрузка предварительно скомпилированных библиотек не решит эту проблему, поверьте, я все перепробовал, проблема в другом. Вот как это работает в окнах:
bundle update sqlite3
Скорее всего, вы получите еще одну аналогичную ошибку после этой, касающуюся nokogiri, исправьте ее с помощью команды:
bundle update nokogiri
Наслаждайтесь своим приложением Ruby!
источник
У меня сработало удаление и переустановка гема sqlite3.
gem uninstall sqlite3 bundle
источник
Это сработало для меня:
источник
ЛУЧШАЯ ОФИЦИАЛЬНАЯ УСТАНОВКА
Я использую rails 5.2.1p57, Windows 10 Проблема с запуском следующих строк
gem uninstall sqlite3
и удалите все установленные версии. снова выполните следующую команду
gem install sqlite3 --platform=ruby
Теперь все готово. Сообщите мне, если проблема не исчезнет.
источник
Если верхний ответ не работает, исправление, которое я обнаружил, просто идет в ваш Gemfile и добавляет номер версии 1.3.11 (вместо 1.3.9) сразу после sqlite3. Итак, строка в вашем Gemfile теперь должна читать:
# Use sqlite3 as the database for Active Record gem 'sqlite3', '1.3.11'
источник
У меня была такая же ошибка, когда я обновил свою версию Ruby до 2.5.X. Я отслеживал,
rails task --trace
что sqlite3 недоступен для версии 2.5, чем я изменяю свой GemFile, гем "sqlite3" меняется на "sqlite3-ruby", после того, как я удаляю гем "sqlite3" и, наконец, запускаюbundle install
.Не знаю, в чем причина ... Я читал, что sqlite3 пока недоступен для ruby 2.5, но я не уверен.
источник
Чтобы избежать этой ошибки, убедитесь, что
gem sqlite3
он добавлен в ваш Gemfile. Затем извлеките «exe» и «dll» из ссылки для загрузки Sqlite в папку bin Ruby. Если проблема не устранена. Попробуй это:bundle update
gem uninstall sqlite3
Имея возможность выбора между несколькими версиями sqlite3, выберите последний вариант «Все версии». Введите здесь последний номер
gem install sqlite3 --platform=ruby
rails s
Это должно сработать.
Прочтите эту ссылку для получения дополнительных объяснений, если вышеуказанное работает для вас.
источник
Это случилось и со мной. Оказалось, что я изначально установил SQLite 1.3.10, но затем я скопировал некоторые драгоценные камни из проекта скринкастов учебника Rails, и в нем был указан SQLite 1.3.9. Затем я получил ту же ошибку, что и вы. Я снова изменил его на 1.3.10, и все заработало.
(Это в Windows 7. Я запускал обучающее видео в Cloud9 IDE).
источник
Это единственное решение, сработавшее для меня, полученное из этого сообщения о проблеме GitHub :
./configure --disable-shared
.make install DESTDIR=/c/dev/ruby/tmp
. Вы можете сменить каталог.gem uninstall sqlite3 --all
чтобы удалить все существующие драгоценные камни sqlite3.gem install sqlite3 --platform=ruby -- --with-sqlite3-include=C:\dev\ruby\tmp\usr\local\include --with-sqlite3-lib=C:\dev\ruby\tmp\usr\local\lib
. Эти каталоги include и lib могут быть разными, поэтому сначала проверьте.Я использую Ruby версии 2.5.1 и Rails версии 5.2.0 в Windows 10.
источник
я нашел это! я видел это https://www.youtube.com/watch?v=lsrzvX0qzmA
Я установил: Версия Rails: 5.2.1 Версия Ruby: 2.5.3 (x64-mingw32) Версия Sqlite 1.3.13
и у меня есть ваша проблема .. . мое решение:
вас есть папки: "sqlite3-1.3.13" "sqlite3-1.3.13-x64-mingw32"
C: \ Ruby25-x64 \ lib \ ruby \ gems \ 2.5.0 \ gems \ sqlite3-1.3.13 \ lib \ sqlite3 \ sqlite3_native.so
источник
Обновлено
Добавление ниже в Gemfile исправлено для меня: gem 'sqlite3', '1.4.0', platform:: ruby
источник
Измените свой sqlite3 gem в Gemfile для этого:
Затем запустите:
bundle install
источник
Для пользователей OSX это может быть результатом использования менеджера рубинов (например, rvm).
Если вы отредактируете свой ~ / .bash_profile и добавите это:
[[ "$APP" = *"/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/"* ]] && { echo Xcode detected rvm use system }
Вы можете обойти проблему. Перезапустите Xcode перед повторной попыткой сборки.
Актуальная проблема отслеживается здесь: https://openradar.appspot.com/28726736 ).
Все права защищены: https://egeek.me/2018/04/14/ipa-export-error-in-xcode-and-ruby/
источник