13

私は osx 10.6.7 を使用して、新しい Rails 3.0.7 アプリで bundle install を実行しようとしていますが、pg gem をビルドしようとすると失敗し続けます。開発者ツールが必要だというメッセージが表示され続けます。しかし、私が知る限り、開発者ツールがインストールされています。

xcodebuild -version の出力は次のとおりです。

Xcode 3.2.6
Component versions: DevToolsCore-1809.0; DevToolsSupport-1806.0
BuildVersion: 10M2518

失敗した pg gem ビルドの出力は次のとおりです。

/Users/bm/.rvm/rubies/ruby-1.9.2-head/bin/ruby extconf.rb --with-pg-config=/Library/PostgreSQL/8.4/bin/pg_config
Using config values from /Library/PostgreSQL/8.4/bin/pg_config
checking for libpq-fe.h... *** 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/bm/.rvm/rubies/ruby-1.9.2-head/bin/ruby
    --with-pg
    --without-pg
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/lib
    --with-pg-config
/Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:853:in `block in find_header'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/mkmf.rb:852:in `find_header'
    from extconf.rb:31:in `<main>'


Gem files will remain installed in /Users/bm/.rvm/gems/ruby-1.9.2-head@rc_search/gems/pg-0.11.0 for inspection.
Results logged to /Users/bm/.rvm/gems/ruby-1.9.2-head@rc_search/gems/pg-0.11.0/ext/gem_make.out
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/rubygems/installer.rb:486:in `block in build_extensions'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/rubygems/installer.rb:446:in `each'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/rubygems/installer.rb:446:in `build_extensions'
    from /Users/bm/.rvm/rubies/ruby-1.9.2-head/lib/ruby/1.9.1/rubygems/installer.rb:198:in `install'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/source.rb:100:in `install'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/installer.rb:55:in `block in run'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `block in each'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/installer.rb:44:in `run'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/installer.rb:8:in `install'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/cli.rb:217:in `install'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `run'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb:246:in `dispatch'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb:389:in `start'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/gems/bundler-1.0.0/bin/bundle:13:in `<top (required)>'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/bin/bundle:19:in `load'
    from /Users/bm/.rvm/gems/ruby-1.9.2-head@global/bin/bundle:19:in `<main>'

どんな助けでも大歓迎です。参考までに、mysqlを使用してアプリを構築しようとしたところ、基本的に同じスタックが得られました。したがって、ある種の開発者用ビルド ツールが不足していると確信していますが、どれがどれかはわかりません。:(

4

10 に答える 10

15
  1. export ARCHFLAGS='-arch x86_64'
  2. export PATH=/Library/PostgreSQL/9.1/bin:${PATH}
  3. gem インストール pg
于 2012-01-16T14:01:55.673 に答える
15

Rails アプリで bundle install を実行すると、まったく同じ問題が発生しました。自作をインストールしてから実行しました

brew install postgresql. 

最終的にpostgresが正しくインストールされ、問題は修正されました。

于 2011-08-29T18:21:20.157 に答える
7

osx で PostgreSQL アプリを使用している場合は、lesyk の回答に示されているパスではなく、次のようにパスを変更する必要がある場合があります (バイナリと構成ファイルの場所が変更されるため)。

export PATH=/Applications/Postgres.app/Contents/MacOS/bin:${PATH}
于 2013-08-31T23:59:02.307 に答える
5

私にとってうまくいったのは、ザグザグのコメントでした:

~/projects/foo$ env ARCHFLAGS="-arch x86_64" gem install pg
Building native extensions.  This could take a while...
Successfully installed pg-0.11.0
1 gem installed
Building YARD (yri) index for pg-0.11.0...

~/projects/foo$ bundle 
...
Using pg (0.11.0) 
...
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
于 2011-11-20T22:39:27.500 に答える
5

同じ問題がありました。私にとっての修正は次のとおりです。

sudo ln -s gcc /usr/bin/gcc-4.2

于 2012-04-30T19:28:32.570 に答える
2

私もこの問題に遭遇しました。私にとっての答えは、すべてのRVMを更新することでした。

rvm get head
rvm install 1.9.2
于 2012-05-03T11:49:17.950 に答える
0

簡単な解決策:

  1. 走るbrew install postgresql
  2. 次のように、sudo パーミッションで gem をインストールします。 sudo gem install pg -v '0.17.1'
于 2014-04-26T08:30:59.013 に答える
0

バンドルのインストールで 3 日間立ち往生しました。env ARCHFLAGS="-arch x86_64" gem install pgを追加するなど、すべてを試しました-- --with-pg-config=/usr/local/Cellar/postgresql/9.3.5_1/bin/pg_config

このコマンドの後に pg gem がインストールされているのを確認できましたが、バンドル インストールからはまだインストールされていませんでした。これは、gem 'pg' 以外の Gemfile に何を書き込むべきかわからないため、苦痛でした。

最終的にうまくいったのは、pg_config が /Library/PostgreSQL/9.3/bin/pg_config にあり、デフォルトで Gemfile バンドルのインストールが /usr/local/bin/pg_configにあることを確認することでした。

次のコマンドを実行したところ、魔法が起こりました。bundle config build.pg --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config

于 2014-12-26T10:25:07.810 に答える
0

私はあなたと同じ OSX と XCode のバージョンを使用しています。しかし、 nokogiri をインストールする必要がある開発ツールの最初のエラーを修正するのに役立つかもしれないこの記事を見つけました 。

rvm を使用している場合は、次を試すことができます。

rvm update head  
rvm --force install
1.9.2 gem install bundle

ここに私のスタック:

[ 08:36:26 ] > bundle install
Fetching source index for http://rubygems.org/
Enter your password to install the bundled RubyGems to your system: 
Using rake (0.8.7) 
Using abstract (1.0.0) 
Installing activesupport (3.0.7) 
Installing builder (2.1.2) 
Installing i18n (0.5.0) 
Installing activemodel (3.0.7) 
Using erubis (2.6.6) 
Using rack (1.2.2) 
Installing rack-mount (0.6.14) 
Installing rack-test (0.5.7) 
Installing tzinfo (0.3.27) 
Installing actionpack (3.0.7) 
Using mime-types (1.16) 
Installing polyglot (0.3.1) 
Installing treetop (1.4.9) 
Installing mail (2.2.19) 
Installing actionmailer (3.0.7) 
Installing arel (2.0.9) 
Installing activerecord (3.0.7) 
Installing activeresource (3.0.7) 
Using bundler (1.0.10) 
Installing pg (0.11.0) with native extensions 
Using thor (0.14.6) 
Installing railties (3.0.7) 
Installing rails (3.0.7) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
[ ronda@MacBook ~/Projects/rails_projects/first_app ]
[ 08:42:57 ] > rails server
=> Booting WEBrick
=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-04-27 20:45:27] INFO  WEBrick 1.3.1
[2011-04-27 20:45:27] INFO  ruby 1.9.2 (2011-02-18) [x86_64-darwin10]
[2011-04-27 20:45:27] INFO  WEBrick::HTTPServer#start: pid=4757 port=3000
于 2011-04-27T19:13:06.233 に答える