rails sqlite适配器错误

Oha*_*esh 18 ruby sqlite ruby-on-rails

我正在按照rails教程中的说明操作,并在尝试使用scaffold命令时遇到困难.

运行时:

rails generate scaffold User name:string email:string  
Run Code Online (Sandbox Code Playgroud)

我收到错误:

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)
Run Code Online (Sandbox Code Playgroud)

运行:

gem install activerecord-sqlite3-adapter
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

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
Run Code Online (Sandbox Code Playgroud)

我的Gemfile看起来像这样:

source 'http://rubygems.org'
gem 'rails', '3.1.0'  
gem 'sqlite3', '1.3.3'  
...
Run Code Online (Sandbox Code Playgroud)

我在Windows 7 x64操作系统上运行.

有任何想法吗?

Oha*_*esh 19

好的我发现了问题.我注意到我的Rails安装有SQLite 1.3.3和1.3.4我改变了我的Gemfile:

gem 'sqlite3', '1.3.3'
Run Code Online (Sandbox Code Playgroud)

至:

gem 'sqlite3', '1.3.4'
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题.谢谢@ holger-只是在我们的回答中将我指向错误消息中的相关行.


jdu*_*yan 10

建议安装命令:

gem install activerecord-jdbc-sqlite3-adapter
Run Code Online (Sandbox Code Playgroud)

实际安装命令:

gem install activerecord-jdbcsqlite3-adapter
Run Code Online (Sandbox Code Playgroud)

参考:http: //kenai.com/jira/browse/ACTIVERECORD_JDBC-19