错误消息:在捆绑之前确保`gem install pg -v'0.18.1'成功

phd*_*phd 50 ruby ruby-on-rails

我有红宝石的问题.我尝试了很多,但对我没什么用.

当我想启动rails服务器时,我收到以下错误消息:

安装pg(0.18.1)时发生错误,Bundler无法继续.在捆绑之前确保"gem install pg -v'0.18.1"成功.

这是我已经尝试过的:

sudo install gem
bundle install
bundle install --path vendor/cache
gem install pg -v '0.18.1'
Run Code Online (Sandbox Code Playgroud)

当我尝试gem install pg -v '0.18.1'我收到此错误消息:

在Gemfile中列出的或安装在此计算机上的任何gem源中找不到gem'pg(> = 0)ruby'.运行bundle install以安装缺少的宝石.

bundle install也不起作用.我收到此错误消息:

安装pg(0.18.1)时发生错误,Bundler无法继续.gem install pg -v '0.18.1'在捆绑之前确保成功.

我还尝试在一个新的ruby项目中启动服务器.

什么都没有帮助..

谢谢你的帮助!

这些是我在Gemfile中的更改:

group :production do
   gem 'pg'
   gem 'rails_12factor'
 end

group :development do
   gem 'sqlite3'
 end
Run Code Online (Sandbox Code Playgroud)

Mih*_*scu 120

如果你在Ubuntu上,很可能你错过了隐藏的依赖

sudo apt-get install libpq-dev
Run Code Online (Sandbox Code Playgroud)

如果您使用的是OS X,请尝试以下步骤

  • 安装Xcode命令行工具(Apple Developer站点).如果已安装,请使用更新brew update.
  • brew uninstall postgresql
  • brew install postgresql
  • gem install pg


kar*_*tik 30

如果您是Ubuntu用户,则需要在安装gem之前执行以下操作

sudo apt-get install libpq-dev
Run Code Online (Sandbox Code Playgroud)

然后执行gem install pg -v '0.18.1'或只是bundle install如果你有一个GEMFILE中的宝石.


Mag*_*led 23

如果你使用的是Mac和Homebrew,看起来像libpqxx lib一样.

brew install libpqxx
Run Code Online (Sandbox Code Playgroud)

这个命令应该这样做.


Jai*_*put 13

如果您不确定pg_config的位置,并假设您使用的是Linux或Mac,则可以运行以下命令:

which pg_config
Run Code Online (Sandbox Code Playgroud)

这将返回==> /usr/pgsql-9.1/bin/pg_config

现在使用此路径作为

bundle config build.pg --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Run Code Online (Sandbox Code Playgroud)

现在完成 bundle install


phd*_*phd 10

我在Bloc的老师有解决方案!如果有人遇到同样的问题,请运行以下命令:

  1. spring stop
  2. gem uninstall pg

  3. bundle install --without production

这解决了我的问题.