私は Railsチュートリアル の指示に従い、scaffoldコマンドを使用しようとすると動かなくなりました。
実行時:
Rails generate scaffold User name:string email:string
エラーが発生します:
C:/RailsInstaller/Ruby1.9.2/lib/Ruby/gems/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:71:in `rescue in establish_connection': Please install the sqlite3 adapter: `gem install activerecord-sqlite3-adapter` (can't activate sqlite3 (~> 1.3.4), already activated sqlite3-1.3.3-x86-mingw32. Make sure all dependencies are added to Gemfile.) (RuntimeError)
ランニング:
gem install activerecord-sqlite3-adapter
エラーが発生しました:
ERROR: Could not find a valid gem 'activerecord-sqlite3-adapter' (>= 0) in any repository
ERROR: Possible alternatives: activerecord-jdbcsqlite3-adapter, activerecord-sqlserver-adapter, activerecord-nulldb-adapter, activerecord-spatialite-adapter, activerecord-simpledb-adapter
私のGemfileは次のようになります。
source 'http://rubygems.org'
gem 'Rails', '3.1.0'
gem 'sqlite3', '1.3.3'
...
Windows 7 x64 OSで実行しています。
何か案は?
問題を見つけました。私のRailsインストールにはSQLite 1.3.3と1.3.4の両方が含まれていることに気付きました。Gemfileを次のように変更しました:
gem 'sqlite3', '1.3.3'
に:
gem 'sqlite3', '1.3.4'
それで問題は解決しました。ありがとう @ holger-justtheir answer のエラーメッセージの関連する行を私に示してくれた。
推奨されるインストールコマンド:
gem install activerecord-jdbc-sqlite3-adapter
実際のインストールコマンド:
gem install activerecord-jdbcsqlite3-adapter
エラーメッセージの重要な部分は次のスニペットです。
can't activate sqlite3 (~> 1.3.4), already activated sqlite3-1.3.3-x86-mingw32. Make sure all dependencies are added to Gemfile.
これを修正するには、常にbundle exec
そのようです
bundle exec Rails generate scaffold User name:string email:string
このようにして、あなたはあなたの$LOAD_PATH
これはおそらくこれらの問題を解決します。
またRailsチュートリアル、実行した:
$ rake db:migrate
次のエラーが発生しました:
Sqlite3アダプターをインストールしてください:gem install activerecord-sqlite3-adapter(sqlite3はバンドルの一部ではありません。Gemfileに追加してください。).
ラン:
$ gem install activerecord-sqlite3-adapter
取得:
エラー:リポジトリで有効なgem 'activerecord-sqlite3-adapter'(> = 0)が見つかりませんでした
上記の回答のいずれかに従ってGemfileを変更しました:
gem 'sqlite3'、 '1.3.4'
別のエラーが発生したため、インストールする必要がありました:
$ gem install sqlite3 -v '1.3.4'
$ rake db:migrateを再度実行しようとしましたが、今度は上記の答えに似た別のエラーが発生しました。
Sqlite3アダプタをインストールしてください:
gem install activerecord-sqlite3-adapter
(sqlite3をアクティブにできません(〜> 1.3.5)、すでにアクティブになっているsqlite3-1.3.4。すべての依存関係がGemfileに追加されていることを確認してください。)
したがって、Gemfileを次のように変更しました。
gem 'sqlite3'、 '1.3.5'
また、「gem install sqlite3 -v '1.3.5」が成功することを確認する別のエラーメッセージが表示されました(wtf ?!大丈夫です)。正常にインストールされ、バンドルインストールが実行されました。
実行してみました:
$ rake db:migrate
何も起こらなかったので、試してみました:
$ bundle exec Rails generate scaffold User name:string email:string
上記の別の提案に従って。そして、それは最終的に機能しました。チュートリアルは面倒なセットアッププロセスを警告しましたが、少なくとも5人の他の人と混ぜて一致させる必要があるように感じました。これが次の人に役立つことを願っています。
の代わりに
gem install activerecord-sqlite3-adapter
走る
gem install sqlite3