ruby-on-rails - 为什么 bundle install 不允许 pg gem 完全安装?

标签 ruby-on-rails postgresql installation rubygems bundler

我已经如图所示安装了 pg gem,但是......

Building native extensions.  This could take a while...
    Successfully installed pg-0.11.0
    ERROR:  Could not find a valid gem '—' (>= 0) in any repository
    ERROR:  Could not find a valid gem '–with-pg-config=/usr/local/pg/bin/pg_config' (>= 0) in any repository
    1 gem installed
    Installing ri documentation for pg-0.11.0...
    Installing RDoc documentation for pg-0.11.0...

当我 bundle 安装时发生了一些奇怪的事情,它不会完全安装 pg gem:

Fetching source index for http://rubygems.org/
Using rake (0.9.2) 
Using abstract (1.0.0) 
Using activesupport (3.0.10) 
Using builder (2.1.2) 
Using i18n (0.5.0) 
Using activemodel (3.0.10) 
Using erubis (2.6.6) 
Using rack (1.2.3) 
Using rack-mount (0.6.14) 
Using rack-test (0.5.7) 
Using tzinfo (0.3.29) 
Using actionpack (3.0.10) 
Using mime-types (1.16) 
Using polyglot (0.3.2) 
Using treetop (1.4.10) 
Using mail (2.2.19) 
Using actionmailer (3.0.10) 
Using arel (2.0.10) 
Using activerecord (3.0.10) 
Using activeresource (3.0.10) 
Using annotate (2.4.0) 
Using bundler (1.0.18) 
Using diff-lcs (1.1.2) 
Using factory_girl (1.3.3) 
Using rdoc (3.9.3) 
Using thor (0.14.6) 
Using railties (3.0.10) 
Using rails (3.0.10) 
Using factory_girl_rails (1.0) 
Using faker (0.3.1) 
Using gravatar_image_tag (1.0.0.pre2) 
Using nokogiri (1.5.0) 
Installing pg (0.11.0) with native extensions /Users/******/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:552:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

然后我得到的行告诉我我可能缺少必要的库或 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/TonyNg/.rvm/rubies/ruby-1.9.2-p180/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
extconf.rb:24:in ``': No such file or directory - /users/****/

这是我的 gem 文件:

  source 'http://rubygems.org'

gem 'rails', '3.0.10'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'pg'
gem 'gravatar_image_tag', '1.0.0.pre2'
gem 'will_paginate', '3.0.pre2'



group :development do
  gem 'rspec-rails', '2.6.1'
  gem 'annotate', '2.4.0'
  gem 'faker', '0.3.1'
end

group :test do
  gem 'rspec-rails', '2.6.1'
  gem 'webrat', '0.7.1'
  gem 'spork', '0.9.0.rc8'
  gem 'factory_girl_rails', '1.0'
end

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
# gem 'ruby-debug'
# gem 'ruby-debug19', :require => 'ruby-debug'

# Bundle the extra gems:
# gem 'bj'
# gem 'nokogiri'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'

# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
# group :development, :test do
#   gem 'webrat'
# end

我该如何解决这个问题?提前致谢。

编辑 回答:诀窍是将 pg gem 安装到 pg_config 的正确路径下,而在此之前它还没有完全安装。我运行 'gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config ' 作为我在上一条评论中写下的路径。我只需要找到我的 pg_config 文件并在该文件下运行 gem install。

最佳答案

之前需要安装libpq-dev

关于ruby-on-rails - 为什么 bundle install 不允许 pg gem 完全安装?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7228798/

相关文章:

ruby-on-rails - 为什么 'awk' 命令在 Ruby on Rails 中使用时不向变量返回任何内容?

postgresql - Sequelize : Find Records Based on Associated BelongsToMany Record-- But Still Return All Associated Records?

windows - 在 Windows 中,如何为没有安装权限的用户进行按用户安装?

PHP:如何安装用于动态制作和编辑图像的 GD 模块?

ruby-on-rails - passenger-install-apache2-module 在 ubuntu 12.04 上失败

ruby-on-rails - rails : render text gives missingtemplate error

ruby-on-rails - Rake Aborted , on add_index( :users, :email, {:unique=>true})

java - 在 JNI 客户端应用程序中设置较小的 JVM 堆大小

java - Quarkus 如何在 application.properties 中设置环境变量

window - 在设置 {app} 之前获取 wpSelectDir 中的路径 Inno Setup