Rails 2.0.0でRuby 4.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>'
このエラーメッセージを回避して、さらに先に進むにはどうすればよいですか?
Sqlite3 gemspecファイルを見つけます。 1つの例は/usr/local/share/gem/specifications/sqlite3-1.3.7.gemspec
です
Windows:C:\Ruby21\lib\Ruby\gems\2.1.0\specifications
。
Rubygemパスとsqlite3バージョンに応じて調整する必要があります。上記のファイルを編集して、次の行を探します
s.require_paths=["lib"]
に変更する
s.require_paths= ["lib/sqlite3_native"]
参照: 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'
プルリクエスト#229 がマージされているため、git:
キーごとにsqlite3をインストールできます。 Gemfile
にこのオプションを追加することにより、sqlite3を簡単に使用できます。
gem 'sqlite3', git: "https://github.com/sparklemotion/sqlite3-Ruby"
これはRubyInstaller-2.4以降で機能します。 mingw-w64-x86_64-sqlite3
を実行すると、必要なpacmanパッケージbundler install
が自動的にインストールされます。
RubyInstaller2 FAQ には、WindowsのRailsに関するヒントがいくつかあります。
gem uninstall sqlite3 --all
ridk exec pacman -S mingw-w64-x86_64-sqlite3
gem inst sqlite3 --platform Ruby
これで問題は解決しました。
Windows 10
Ruby 2.5.3
Rails 5.2.2
Gemfileを編集してgem 'sqlite3', platform: :Ruby
を追加するだけです。
ソースのコンパイルやプリコンパイルされたライブラリのダウンロードは、この問題を解決するものではありません。これはWindowsでの動作です:
bundle update sqlite3
この後、nokogiriに関する別の同様のエラーが表示される可能性が高いため、コマンドで修正します。
bundle update nokogiri
Rubyアプリをお楽しみください!
BEST OFFICIAL INSTALL
Rails 5.2.1p57を使用しているWindows 10
gem uninstall sqlite3
インストールされているすべてのバージョンをアンインストールします。次のコマンドを再度実行します
gem install sqlite3 --platform=Ruby
これで完了です。問題が解決しない場合はお知らせください。
Sqlite3 gemをアンインストールして再インストールするとうまくいきました。
gem uninstall sqlite3
bundle
これは私のために働いた:
gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-Ruby", branch: "add-gemspec"
このエラーを回避するには、gem sqlite3
がGemfileに追加されていることを確認してください。次に、「exe」と「dll」を Sqliteダウンロードリンク からRubyのbinフォルダーに抽出します。それでも問題が解決しない場合。これを試して:
bundle update
gem uninstall sqlite3
Sqlite3の複数のバージョンから選択できる場合、最後のオプション「すべてのバージョン」を選択します。ここに最後の番号を入力してください
アンインストールするgemを選択します。
1。 sqlite3-1.3.13
2。 sqlite3-1.3.13-x64-mingw32
3。すべてのバージョン
>3
。
。
このgemを削除すると、これらの依存関係は満たされません。
アンインストールを続行しますか? [yN]
>y
gem install sqlite3 --platform=Ruby
Rails s
これは動作するはずです。
上記をお読みください。詳細については、こちらをお読みください link .
一番上の答えが機能しない場合、私が発見した修正は、単にGemfileに行き、sqlite3の直後にバージョン番号1.3.11(1.3.9ではなく)を追加することです。したがって、Gemfileの行は次のようになります。
# Use sqlite3 as the database for Active Record
gem 'sqlite3', '1.3.11'
Rubyバージョンを2.5.Xにアップグレードすると、同じエラーが発生しました。私はRails task --trace
で追跡し、バージョン2.5でsqlite3が利用できないことを確認しました。gemの "sqlite3"を "sqlite3-Ruby"に変更し、gem "sqlite3"をアンインストールし、最後にbundle install
。
理由はわかりません... Ruby 2.5では "sqlite3"がまだ利用できないと読んでいますが、よくわかりません。
これは私にも起こりました。もともとSQLite 1.3.10をインストールしていたことが判明しましたが、Railsチュートリアルスクリーンキャストプロジェクトからいくつかのgemをコピーし、SQLite 1.3.9をリストしました。それからあなたと同じエラーが出ました。私はそれを1.3.10に戻し、それが機能した。
(これはWindows 7上にあります。Cloud9IDEでスクリーンキャストチュートリアルを実行していました)。
これは、 このGitHubの問題の投稿 から派生した、私のために働いた唯一のソリューションです。
./configure --disable-shared
。make install DESTDIR=/c/dev/Ruby/tmp
。ディレクトリを変更できます。gem uninstall sqlite3 --all
を実行して、既存のsqlite3 gemをすべて削除します。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ディレクトリは異なる場合があるため、最初に確認してください。Windows 10でRubyバージョン2.5.1およびRailsバージョン5.2.0を使用しています。
更新済み
私のために修正されたGemfileに以下を追加:gem 'sqlite3'、 '1.4.0'、platforms::Ruby
見つけた!私はこれを見ました https://www.youtube.com/watch?v=lsrzvX0qzmA
iがインストールされました:Railsバージョン:5.2.1 Rubyバージョン:2.5.3(x64-mingw32)Sqliteバージョン1.3.13
そしてあなたの問題があります...私の解決策:
OSXユーザーの場合、これはRubyマネージャー(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/
このためにGemfileでsqlite3 gemを変更します。
gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-Ruby", branch: "add-gemspec"
次に実行します:
bundle install