1

在我的 Mac 上更新到 Mavericks 后,我尝试运行 bundle install / bundle update,但出现以下错误。有任何想法吗?

我正在使用 RVM 来管理一切。

Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Using rake (10.1.0) 
Using i18n (0.6.5) 
Using multi_json (1.8.2) 
Using activesupport (3.2.1) 
Using builder (3.0.4) 
Using activemodel (3.2.1) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.5) 
Using rack-cache (1.2) 
Using rack-test (0.6.2) 
Using hike (1.2.3) 
Using tilt (1.4.1) 
Using sprockets (2.1.3) 
Using actionpack (3.2.1) 
Using mime-types (1.25) 
Using polyglot (0.3.3) 
Using treetop (1.4.15) 
Using mail (2.4.4) 
Using actionmailer (3.2.1) 
Using arel (3.0.2) 
Using tzinfo (0.3.38) 
Using activerecord (3.2.1) 
Using activeresource (3.2.1) 
Using bcrypt-ruby (3.0.1) 
Using coffee-script-source (1.6.3) 
Using execjs (2.0.2) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.3) 
Using json (1.8.1) 
Using rdoc (3.12.2) 
Using thor (0.14.6) 
Using railties (3.2.1) 
Using coffee-rails (3.2.2) 
Using jquery-rails (3.0.4) 
Installing pg (0.17.0) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/Users/robin/.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.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/robin/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
    --with-pg
    --without-pg
    --with-pg-config
    --without-pg-config
    --with-pg_config
    --without-pg_config
    --with-pg-dir
    --without-pg-dir
    --with-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/


Gem files will remain installed in /Users/robin/.rvm/gems/ruby-2.0.0-p247/gems/pg-0.17.0 for inspection.
Results logged to /Users/robin/.rvm/gems/ruby-2.0.0-p247/gems/pg-0.17.0/ext/gem_make.out

An error occurred while installing pg (0.17.0), and Bundler cannot continue.
Make sure that `gem install pg -v '0.17.0'` succeeds before bundling.

所以是的,我无法弄清楚问题所在。我想下载 PostgreSQL gem 吗?我已经从 XCode 获得了命令行工具。

4

2 回答 2

0

如果您使用的是 Homebrew,这可以解决问题:

  • xcode-选择--安装
  • 酿造更新
  • brew重新安装/安装postgresql

然后你就可以从 Gemfile 安装 pg

于 2013-11-11T06:16:14.510 回答
0

对于那些阅读本文以及使用 Xcode 5 在 Mavericks 上的人,您必须获取 Xcode 5 的命令行工具才能获取 gem。运行xcode-select --install可能无法检索全新 Xcode 的命令行工具。转至Apple Developer 站点,然后转至下载。您可能需要注册为 Apple Developer。下载: Xcode 的命令行工具 (OSX Mavericks) - 十月下旬

另外,我建议使用Postgres.app。也下载那个。如果您的系统中潜伏着 Postgres,请卸载并删除任何以前安装的 Postgres。安装后,确保您可以psql通过调用它从命令行运行,或者调用which psql. 如果你已经安装了 Postgres,你应该拥有它。如果无法调用它,则可能需要将其添加到 PATH 变量中,如下所示:

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"

(在我的系统上,我下载了最新的 Postgres.app,所以我的路径变量是:

PATH="/Applications/Postgres93.app/Contents/MacOS/bin:$PATH"

把它放在你的 .bash_profile 中,这样你就可以在终端中访问它。有关在 Mac、Linux 或 Windows 上设置 Postgres的重要参考,请参阅Heroku 中的此文档

最后,您应该能够获得宝石:

gem install pg

对于那些从 Sqlite 切换到 Postgres 的人,我也推荐Heroku 的这个文档

于 2013-11-18T22:35:32.873 回答