在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>
答案 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命令。