Rails上的Ruby / PgSQL错误启动:无法加载这样的文件–pg_ext(LoadError)

我是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 ' 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' 

问题也出现在Fedora 17中。

卸载“pg”gem:

 gem uninstall pg 

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

 bundle 

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

 bundle install bundle update 

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

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

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

我已经安装了pg gem list pg

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

接下来,您更新Gemfile:gem’pg’,’〜> 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/ 

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

  • 检查路径(尝试psql启动psql )。
  • 卸载pg-gem: gem unistall pg
  • 并重新安装它: bundle installgem install pg