2010-12-23 155 views
0

我终于得到了gem pg来安装。现在,当我去迁移数据库时,我得到以下内容:rake db:迁移postgreSQL

$ rake db:migrate 
(in c:/rubyDev/bsbaslic) 
rake aborted! 
no such file to load -- 1.9/pg_ext 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/pg-0.10.0/lib/pg.rb:10:in `require' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/pg-0.10.0/lib/pg.rb:10:in `<top (required)>' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:64:in `require' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:64:in `block (2 levels) in require' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:62:in `each' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:62:in `block in require' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:51:in `each' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler/runtime.rb:51:in `require' 
c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.3/lib/bundler.rb:112:in `require' 
c:/rubyDev/bsbaslic/config/application.rb:7:in `<top (required)>' 
<internal:lib/rubygems/custom_require>:29:in `require' 
<internal:lib/rubygems/custom_require>:29:in `require' 
c:/rubyDev/bsbaslic/Rakefile:4:in `<top (required)>' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2373:in `load' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile' 
c:/Ruby192/lib/ruby/1.9.1/rake.rb:1991:in `run' 
c:/Ruby192/bin/rake:31:in `<main>' 

有没有人有任何想法,它是在寻找什么?我在与pg.rb相同的目录中有一个pg_ext.so文件。

+0

什么版本的Postgres宝石(pg)你运行? – BryanH 2011-03-25 15:38:48

回答

1

Windows程序无法加载.so文件 - 它们会加载.dll文件。您需要为Windows编译pg版本,或者您需要从Linuxy环境(例如msys或cygwin)运行Ruby。

+0

我从msys运行。我无法使用“gem install pg”在常规命令提示符下工作。任何其他想法? – seehad 2010-12-23 17:47:25

+0

当你运行“gem install”时会发生什么?请将此添加到您的问题中。 – BryanH 2011-03-25 15:39:21

1

问题出在您的pg gem版本上。有一个特殊版本的Windows pg 0.9.0。 为了具有它workingon窗口:

  1. 卸载当前PG 0.10.0
  2. 安装PG如下:宝石安装PG --version = 0.9.0 - --with-PG-配置= /短路/路径/到/ postresql/bin中 (为了让您可以简单地改变目录PostgrSQL仓,然后在cmd中输入命令,机器会自动改变路径短verison短路径)

  3. 然后编辑您的项目Gemfile以便正确使用pg宝石版(0.9.0)

就是这样。

好运