第一次在论坛上,所以我会尝试尽可能具体,对不起任何可能的拼写错误?
我相对较新的rails(不到一年),我想制作一个默认项目来使用它。我一直在开发中使用sqlite3,在生产中使用pg(heroku),但现在我想把事情弄好(我遇到了sqlite3运行正常但pg没有的问题)并在生产和devlop中使用pg。
我花了2天时间搜索foruns并且所有的anwsers都是旧的或其他版本/其他操作系统。
我会尝试列出我为设置舞台所采取的步骤: 在这里我的配置:
-OS:Windows 7 64x
-Editor:Aptana工作室
-PostGresql
-Rails 4.0.0.rc1
-Ruby 2.0
使用正确的用户名和密码配置“database.yml”
development:
adapter: postgresql
encoding: unicode
database: rails_test
pool: 5
username: my_user
password: 12345
在ruby中运行一些命令,例如“gem update”,“bundle install”
然后当我尝试生成模型并使用rake db:migrate时,我收到以下错误:
Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile.
如果我运行“bundle show pg”,我会收到消息:
Could not find gem 'pg'. Did you mean pg?
如果我打开我的gemfile,pg gem就在那里,但捆绑包没有得到它!
任何想要帮助这个小业余爱好者的想法?
TNX!
答案 0 :(得分:6)
(Windows 7 x64,Ruby2.0.0p247-x64,Rails4.0.0,Postgresql 9.2.4 x64,第0.15.1页,mysql2 0.3.11) 捆绑器似乎存在平台检测/验证问题。虽然我所做的 是一个Gemfile.lock文件的黑客(我知道,我知道......),但我有一个(希望)临时解决方案:
编辑Gemfile.lock和
multi_json (1.7.7) pg (0.15.1-x86-mingw32) polyglot (0.3.3)
multi_json (1.7.7) pg (0.15.1-x64-mingw32) pg (0.15.1-x86-mingw32) polyglot (0.3.3)
当您要求列出它时,这就是已安装的宝石的x64版本(gem list pg
)。
对于任何关心的人,mysql2 gem都会遇到完全同样的问题。
答案 1 :(得分:2)
我有这个问题并使用32位版本的ruby而不是64位来解决它。您需要确保devkit与您的版本匹配。因此,如果您安装了64位版本,那么也需要更改。