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

时间:2013-06-08 21:15:07

标签: ruby postgresql compiler-errors gem ruby-on-rails-4

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

我相对较新的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

  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”

  9. 然后当我尝试生成模型并使用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!

2 个答案:

答案 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和

  • 找到'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)

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

对于任何关心的人,mysql2 gem都会遇到完全同样的问题。

答案 1 :(得分:2)

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