Почему я получаю ошибку Failed to build gem extension pg (0.8.0) при запуске 'install bundle install'? - PullRequest
1 голос
/ 07 июля 2011

pg gem не указан в файле gem, почему он не устанавливается и почему вообще не устанавливается, если его нет в файле gem.Я пытаюсь использовать mysql.

Странно то, что гем pg отсутствует в моем гемфайле, поэтому я подумал, что это может быть зависимость другого, после изучения зависимостей на сайте гема отображается 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>'

и это гемфайл:

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 Ответ

1 голос
/ 08 июля 2011

Gem pg используется для доступа к базам данных PostgreSQL из ruby. Проверьте свой Gemfile.lock, чтобы узнать, какой гем требует его в качестве зависимости.

Пожалуйста, посмотрите этот вопрос переполнения стека , если вам действительно нужно использовать гем pg.

...