为什么我无法使用rails 4.0.0.rc1(ruby 2.0)安装postgresql

第一次在论坛上,所以我会尝试尽可能具体,抱歉任何可能的拼写错误?

我相对较新的rails(不到一年),我想制作一个默认项目来使用它。 我一直在开发中使用sqlite3而在生产中使用pg(heroku),但现在我想把事情弄好(我遇到了sqlite3运行正常但pg没有的问题)并在生产和devlop中同时使用pg。

我花了2天时间搜索foruns并且所有的anwsers都是旧的或其他版本/其他操作系统。

我将尝试列出我为设置舞台所采取的步骤:在这里我的配置:

-OS:Windows 7 64x
-Editor:Aptana Studio
-PostGresql
-Rails 4.0.0.rc1
-Ruby 2.0

  1. 下载并安装postgresql-9.2.4-1-windows-x64
  2. 将默认密码设置为postgresql
  3. 在postgresql中创建一个具有所有特权的角色“my_user”
  4. 创建测试数据库“rails_test”
  5. 打开Aptana Studio并初始化一个新的默认项目,转到项目文件夹,然后运行“rails new。-d postgresql”来生成新项目。
  6. 安装pg gem“gem install pg”“gem list”正确显示pg gem
  7. 配置“database.yml”以使用正确的用户名和密码

    development: adapter: postgresql encoding: unicode database: rails_test pool: 5 username: my_user password: 12345 
  8. 在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!

我有这个问题并通过使用32位版本的ruby而不是64位来解决它。 您需要确保devkit与您的版本匹配。 因此,如果您安装了64位版本,那么也需要更改。

(Windows 7 x64,Ruby2.0.0p247-x64,Rails4.0.0,Postgresql 9.2.4 x64,pg 0.15.1,mysql2 0.3.11)捆绑器似乎存在平台检测/validation问题。 虽然我所做的对Gemfile.lock文件的破解(我知道,我知道……),我有一个(希望)临时解决方案:

编辑Gemfile.lock,和

  • 找到’pg’的行:
  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) 

这就是当您要求列出它时,已安装的gem的x64版本如何宣布( gem list pg )。

对于任何关心的人来说,mysql2 gem遇到了同样的问题(有时)。