前提・実現したいこと
Ruby on RailsでWEBアプリ開発をすべく、
下記書籍に従ってアプリを作成しています。
Ruby on Rails 4 アプリケーション プログラミング(山田 祥寛)
コマンド「rake db:migrate」を実行した際にエラーが発生しました。
解決策をご教授お願いします。
発生している問題・エラーメッセージ
rake aborted! LoadError: cannot load such file -- sqlite3/sqlite3_native c:/data/railbook2/config/application.rb:7:in `<top (required)>' c:/data/railbook2/Rakefile:4:in `require_relative' c:/data/railbook2/Rakefile:4:in `<top (required)>' Caused by: LoadError: cannot load such file -- sqlite3/2.6/sqlite3_native c:/data/railbook2/config/application.rb:7:in `<top (required)>' c:/data/railbook2/Rakefile:4:in `require_relative' c:/data/railbook2/Rakefile:4:in `<top (required)>' (See full trace by running task with --trace)
試したこと
①下記回答者、ベストアンサーの対応
https://teratail.com/questions/130646
https://teratail.com/questions/65641
https://teratail.com/questions/44920
②C:\Ruby26-x64\bin に http://www.sqlite.org/download.html からダウンロードしたsqlite3.dll と sqlite3.exeを入れた。
sqlite-dll-win64-x64-3310100
┗sqlite3.dll
sqlite-tools-win32-x86-3310100
┗sqlite3.exe
補足情報(FW/ツールのバージョンなど)
[OS]
Windows10 (64bit)
[Rails]
5.0.2
[ruby]
2.6.6p146 (2020-03-31 revision 67876) [x64-mingw32]
[SQLite]
3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837bb4d6
確認事項
下記「Ⓑ」のパスにのみ「sqlite3_native.so」が存在するのですが、
「Ⓐ」のパスが参照されてしまっている。とかは考えられますか?
C:\Ruby26-x64\lib\ruby\gems\2.6.0\gems
Ⓐ ┣sqlite3-1.3.13-x64-mingw32\lib\sqlite3
Ⓑ ┗sqlite3-1.4.2\lib\sqlite3\
~追記~
Ⓑの「sqlite3_native.so」を下記フォルダにそれぞれ配置したところ、エラーメッセージが変化しました。
C:\Ruby26-x64\lib\ruby\gems\2.6.0\gems\sqlite3-1.3.13-x64-mingw32\lib\sqlite3
C:\Ruby26-x64\lib\ruby\gems\2.6.0\gems\sqlite3-1.3.13-x64-mingw32\lib\sqlite3\2.6\
rake aborted! ArgumentError: wrong number of arguments (given 2, expected 0) Tasks: TOP => db:migrate (See full trace by running task with --trace)
~追記2~
「bundle update」
「gem cleanup」
を実行したことでまたエラーメッセージが変化しました。
rake aborted! Gem::LoadError: Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). Caused by: Gem::LoadError: can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.2. Make sure all dependencies are added to Gemfile. Tasks: TOP => db:migrate => db:load_config (See full trace by running task with --trace)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。