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

Mar*_*ini 3 ruby postgresql gem compiler-errors ruby-on-rails-4

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

我相对较新的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
    
    Run Code Online (Sandbox Code Playgroud)
  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.
Run Code Online (Sandbox Code Playgroud)

如果我运行"bundle show pg",我会收到消息:

    Could not find gem 'pg'. Did you mean pg? 
Run Code Online (Sandbox Code Playgroud)

如果我打开我的gemfile,pg gem就在那里,但捆绑包没有得到它!

任何想要帮助这个小业余爱好者?

TNX!

小智 6

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

编辑Gemfile.lock,和

  • 找到'pg'的行:
 multi_json (1.7.7)
 pg (0.15.1-x86-mingw32)
 polyglot (0.3.3)
Run Code Online (Sandbox Code Playgroud)
  • 复制该行,并将新副本修改为:
 multi_json (1.7.7)
 pg (0.15.1-x64-mingw32)
 pg (0.15.1-x86-mingw32)
 polyglot (0.3.3)
Run Code Online (Sandbox Code Playgroud)

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

对于任何人谁在乎,在确切的是(有时)遇到了与mysql2宝石同样的问题.