Rails上的Ruby / PgSQL错误启动:无法加载此类文件--pg_ext(LoadError)

时间:2013-02-28 23:44:53

标签: ruby-on-rails ruby postgresql

我是Ruby的新手(来自Java背景)并且可以从Git存储库访问RoR项目。我能够通过自制软件安装rbenv和Postgres构建Ruby,使用正确的标志安装“pg”gem。我在项目上做了“捆绑安装”的任何方式并创建了一个捆绑包,当我去启动服务器时:...任何帮助都将受到赞赏!

$ rails s
/Users//Projects/The /vendor/bundle/gems/pg-0.14.1/lib/pg.rb:4:in require': cannot load such file -- pg_ext (LoadError)

from /Users//Projects/The Usic/vendor/bundle/gems/pg-0.14.1/lib/pg.rb:4:in <top (required)>'

from /Users//.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/runtime.rb:72:in require'

from /Users//.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/runtime.rb:72:in block (2 levels) in require'

from /Users//.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/runtime.rb:70:in each'

from /Users//.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/runtime.rb:70:in block in require'

from /Users//.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/runtime.rb:59:in each'

from /Users//.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler/runtime.rb:59:in require'

from /Users//.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/bundler-1.3.0/lib/bundler.rb:132:in require'

5 个答案:

答案 0 :(得分:6)

问题也出现在Fedora 17中。

卸载“pg”gem:

gem uninstall pg

运行bundle(假设Gemfile包含“pg”gem):

bundle

答案 1 :(得分:5)

pg gem添加到Gemfile。然后运行:

bundle install
bundle update

答案 2 :(得分:1)

我很好奇你是否在通过brew安装postgres之前或之后安装了pg gem?

如果在您通过brew安装Postgres之前安装了pg,您可能需要将其删除并重新安装,以便根据您当前版本的Postgres进行编译。

旁注:postgresapp是通过自制软件安装postgres的更好的替代方法:http://postgresapp.com/

答案 3 :(得分:1)

我已经安装了pg 宝石清单pg

我也遇到了这个问题,我让它发挥了作用。 首先,运行命令: $ gem install pg --pre
已成功安装pg-0.21.0-x64-mingw32

接下来,您更新Gemfile:gem'pg','〜&gt; 0.21.0' 。就是这样。

我的rubygems环境如下:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.6.12
  - RUBY VERSION: 2.3.3 (2016-11-21 patchlevel 222) [x64-mingw32]
  - INSTALLATION DIRECTORY: C:/Ruby23-x64/lib/ruby/gems/2.3.0
  - USER INSTALLATION DIRECTORY: C:/Users/armano/.gem/ruby/2.3.0
  - RUBY EXECUTABLE: C:/Ruby23-x64/bin/ruby.exe
  - EXECUTABLE DIRECTORY: C:/Ruby23-x64/bin
  - SPEC CACHE DIRECTORY: C:/Users/armano/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: C:/ProgramData
  - RUBYGEMS PLATFORMS:
    - ruby
    - x64-mingw32
  - GEM PATHS:
     - C:/Ruby23-x64/lib/ruby/gems/2.3.0
     - C:/Users/armano/.gem/ruby/2.3.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--no-ri --no-rdoc"
  - REMOTE SOURCES:
     - https://rubygems.org/

答案 4 :(得分:0)

如果在安装gem期间,pq安装不在路径中,那么gem无法找到它。比宝石不能正常工作。

  • 检查路径(尝试从命令行启动psql)。
  • 卸载pg-gem:gem unistall pg
  • 并重新安装:bundle installgem install pg
相关问题