安装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
应用程序根:
- 酿造更新
- brew安装postgres
- gem install pg – –with-pg-config = / usr / local / Cellar / postgresql / 9.3.4 / bin / pg_config
- 捆绑安装
- ln -sfv /usr/local/opt/postgresql/*.plist〜/ Library / LaunchAgents
- launchctl加载〜/ Library / LaunchAgents / homebrew.mxcl.postgresql.plist
- createuser -s -r postgres
- 耙db:创build:所有
- 耙db:迁移
- 导轨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