Rails问题,sqlite3 gem没有被看到

时间:2011-03-21 04:00:10

标签: ruby-on-rails sqlite cygwin

在Cygwin下运行RoR,我已经安装了sqlite3和sqlite3-ruby gems但是找不到它们。在development.log中,我得到:

Status: 500 Internal Server Error
RubyGem version error: sqlite3(1.3.3 not >= 0)

如果我尝试rake db:migrate,我得到:

$ rake db:migrate
(in /home/projects/sample)
rake aborted!
RubyGem version error: sqlite3(1.3.3 not >= 0)

我已经安装了宝石:

$ gem list
*** LOCAL GEMS ***
actionmailer (2.3.4)
actionpack (2.3.4)
activerecord (2.3.4)
activeresource (2.3.4)
activesupport (2.3.4)
bundler (1.0.10)
cgi_multipart_eof_fix (2.5.0)
daemons (1.1.0)
envy (0.0.1)
fastthread (1.0.1 i386-mswin32)
gem_plugin (0.2.3)
mongrel (1.1.5 x86-mswin32-60)
mysql (2.8.1 x86-mswin32)
rack (1.2.1, 1.0.0)
rails (2.3.4)
rake (0.8.7)
rdoc (3.5.3)
rubysspi (1.3.1)
sqlite3 (1.3.3 x86-mswin32-60)

我也尝试过安装和卸载sqlite3-ruby.gem,但这没有帮助。

Sqlite3本身可以正常工作:

$ sqlite3
SQLite version 3.7.3
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

2 个答案:

答案 0 :(得分:0)

我觉得你正在使用sqllite3-ruby gems for Windows,

请注意,如果我知道的话,你必须使用OS /环境特定的红宝石来为他们工作。在你的情况下,Cygwin似乎是一个Linux类型的环境,因此你为什么不尝试安装适合Linux环境的gems,并检查这是否适合你..

此外,您是否安装了sqlite3数据库并配置了rails_app_name/config/database.yml文件。您需要在此文件中指定用户名,密码等详细信息。

我使用MySQL DB和相关的宝石。你似乎已经安装了..如果sqlite3数据库不适合你,只需尝试使用MySQL DB。您还需要安装此DB,并再次填写所需的详细信息,以使用database.yml中的rails应用程序配置数据库。

希望这有帮助!

祝你好运!

答案 1 :(得分:0)

我最终下载了SQLite3标头(sqlite3.h和sqlite3ext.h)并将它们放在目录中

$ gem install sqlite3-ruby-1.2.3-mswin32.gem - --curdir

您需要第一个空 - 选项限定符来表示第二个集合用于特定的.gem文件,而不是gem命令。