安装pg(0.17.1)时发生错误,并且Bundler无法继续

我刚刚安装了Rails 4.0.2 ,当创build一个新的应用程序,在捆绑阶段,我得到:

 Installing pg (0.17.1) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/Dee/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. 

我该如何解决?

我在运行小牛的Mac上。 我的解决scheme是安装Postgres 。

然后在terminal安装使用自制软件configuration:

 gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config 

注意:这个答案已被编辑为使用当前包含在Postgres应用的发货版本中的latest符号链接。

以前的版本build议:

 gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config 

某些types的错误在此处得到解决在OS X上安装PG gem – 无法构build本机扩展

要在Ubuntu上安装依赖项,请尝试以下操作:

 sudo apt-get install libpq-dev 

和这个

 gem install pg 

应用程序根:

  1. 酿造更新
  2. brew安装postgres
  3. gem install pg – –with-pg-config = / usr / local / Cellar / postgresql / 9.3.4 / bin / pg_config
  4. 捆绑安装
  5. ln -sfv /usr/local/opt/postgresql/*.plist〜/ Library / LaunchAgents
  6. launchctl加载〜/ Library / LaunchAgents / homebrew.mxcl.postgresql.plist
  7. createuser -s -r postgres
  8. 耙db:创build:所有
  9. 耙db:迁移
  10. 导轨s

注:如果需要,请在步骤3中更换版本号。

以前与旧版本的工作答案

我安装在Mac OSX Mavericks下,安装了www.postgresapp.com的postgres应用程序(版本9.2.2.0)。 底层的问题很简单,因为postgres是通过应用程序安装的,所以当安装postgressapp时,configuration文件驻留在不是默认的位置。 所以我们需要通过以下方式告诉gem在哪里find这个文件:

gem install pg – –with-pg-config = / Applications / Postgres.app / Contents / MacOS / bin / pg_config

希望能帮助到你

如果gem install pg失败,请尝试以下命令:

 env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config 

…来自PostgreSQL.app文档

我不得不把所有东西结合起来使用

 sudo env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config 

看起来你没有安装PostgreSQL。 pg gem需要PostgreSQL的一些头文件来编译本地扩展。

如果你在开发和Postgres中只使用Postgres而不是Postgres,你可以像这样把gem文件添加到gemfile文件中。

 group :production do gem 'pg', '0.17.1' end 

然后使用bundle install --without production

安装Postgres后,我不得不运行以下命令

 env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config 

这个软件包安装后工作伟大!

希望能帮助到你

我设法克服这个错误的方式是:

  • cd到应用程序文件夹,然后在本地设置ruby版本。 我使用的是Ruby 2.1.2。

rbenv本地2.1.2

  • 而不是仅仅运行软件包安装,在供应商/软件包中安装gem

软件包安装 – path供应商/软件包

这是为我做的。

我需要使用sudo

 sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config 

对于CentOS用户:

 sudo yum install postgresql-devel 

 gem install pg 
Interesting Posts