2011-07-07 7 views
1

gemファイルにpg gemが指定されていない場合、それがインストールされない理由と、それがgemファイルに存在しない場合はなぜインストールするのですか?私はmysqlを使用しようとしています。'bundle install'を実行しているときに、gemネイティブ拡張エラーpg(0.8.0)をビルドできませんでした。

奇妙なことに、私のgemfileにはpgの宝石がないので、宝石のサイトへの依存性を調べた後、別の宝石の依存性ではないことが示されています。

エラーメッセージ:

Installing pg (0.8.0) with native extensions c:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:543:in `rescue in block in build_e 
xtensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) 

     c:/Ruby192/bin/ruby.exe extconf.rb 
ERROR: can't find pg_config. 
HINT: Make sure pg_config is in your PATH 
*** 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 

Gem files will remain installed in c:/Ruby192/lib/ruby/gems/1.9.1/gems/pg-0.8.0 for inspection. 
Results logged to c:/Ruby192/lib/ruby/gems/1.9.1/gems/pg-0.8.0/ext/gem_make.out 
     from c:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:521:in `block in build_extensions' 
     from c:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:496:in `each' 
     from c:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:496:in `build_extensions' 
     from c:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:177:in `install' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/source.rb:96:in `install' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/installer.rb:55:in `block in run' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/spec_set.rb:12:in `block in each' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/spec_set.rb:12:in `each' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/spec_set.rb:12:in `each' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/installer.rb:44:in `run' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/installer.rb:8:in `install' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/cli.rb:225:in `install' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vendor/thor/task.rb:22:in `run' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vendor/thor.rb:246:in `dispatch' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/lib/bundler/vendor/thor/base.rb:389:in `start' 
     from c:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.12/bin/bundle:13:in `<top (required)>' 
     from c:/Ruby192/bin/bundle:19:in `load' 
     from c:/Ruby192/bin/bundle:19:in `<main>' 

と、これはgemfileです:

source :rubygems 

gem "rails", ">= 3.0" 
gem "rack" 
gem "clearance", "0.9.0.rc9" 
gem "haml" 
gem "high_voltage" 
gem "hoptoad_notifier" 
gem "will_paginate" 
gem "formtastic" 
gem "dynamic_form" 
gem "mysql" 

答えて

1

PG宝石はルビーからPostgreSQLデータベースにアクセスするために使用されます。あなたのGemfile.lockをチェックして、どのGemがそれを依存関係として要求しているかを調べます。

実際にpg gemを使用する必要がある場合は、this Stack Overflow questionを参照してください。

+0

gemfile.lockに2回、最初のレベルが1回、最初のレベルがDEPENDENCIESに1回ずつ表示されます。 mysqlがデータベースを選択する場合、pgをmysqlに置き換える必要がありますか? – holaSenor

+0

Gemfile.lockを貼り付けたりインクルードしたりして、あなたのデータベース設定にpostgresqlをどこかに置いてもらえますか? – Maran

+0

ここにペーストビンhttp://pastebin.com/baV1vcRsがあります。 database.ymlは、私はそれをmysqlに変更しません。 – holaSenor

関連する問題