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

Mik*_*sky 7 ruby postgresql ruby-on-rails

我是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'
Run Code Online (Sandbox Code Playgroud)

Dar*_*ide 7

问题也出现在Fedora 17中.

卸载"pg"gem:

gem uninstall pg
Run Code Online (Sandbox Code Playgroud)

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

bundle
Run Code Online (Sandbox Code Playgroud)


Muk*_*esh 7

pg gem 添加到您的Gemfile.然后运行:

bundle install
bundle update
Run Code Online (Sandbox Code Playgroud)


Mar*_*tto 1

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

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

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