无法运行命令 - rake:install

时间:2012-03-18 11:09:19

标签: ruby-on-rails ruby gem rake pg

当我运行命令rake:install时,收到以下错误消息:

WARNING: 'require 'rake/rdoctask'' is deprecated.  Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
    at /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
  Successfully built RubyGem
  Name: mysql2psql
  Version: 0.1.0
  File: mysql2psql-0.1.0.gem
Executing "ruby -S gem install ./pkg/mysql2psql-0.1.0.gem":
ruby -S gem install ./pkg/mysql2psql-0.1.0.gem
Building native extensions.  This could take a while...
ERROR:  Error installing ./pkg/mysql2psql-0.1.0.gem:
    ERROR: Failed to build gem native extension.

        /Users/adam/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for pg_config... no

  ===========   WARNING   ===========

  You are building this extension on OS X without setting the 
  ARCHFLAGS environment variable, and pg_config wasn't found in 
  your PATH. If you are seeing this message, that means that the 
  build will probably fail.

  If it does, you can correct this by either including the path 
  to 'pg_config' in your PATH or setting the environment variable 
  ARCHFLAGS to '-arch <arch>' before building.

  For example:
  (in bash) $ export PATH=/opt/local/lib/postgresql84/bin:$PATH                  
            $ export ARCHFLAGS='-arch x86_64'
  (in tcsh) % set path = ( /opt/local/lib/postgresql84/bin $PATH )
            % setenv ARCHFLAGS '-arch x86_64'

  Then try building again.

  ===================================

MacOS X build: fixing architecture flags:
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/radek/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
    --with-pg
    --without-pg
    --with-pg-config
    --without-pg-config
    --with-pg-dir
    --without-pg-dir
    --with-pg-include
    --without-pg-include=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/lib
    --enable-static-build
    --disable-static-build


Gem files will remain installed in /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.9.0 for inspection.
Results logged to /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.9.0/ext/gem_make.out
rake aborted!
Command failed with status (1): [ruby -S gem install ./pkg/mysql2psql-0.1.0...]

Tasks: TOP => install
(See full trace by running task with --trace)

显然是pg gem中的问题,但当我在我的应用程序中检查已安装的gem列表时,有* pg (0.13.2)

那么我错过了什么?

1 个答案:

答案 0 :(得分:3)

解决上述问题:

 1. export PATH=/Library/PostgreSQL/9.1/bin:$PATH
 2. export ARCHFLAGS='-arch x86_64'
 3. rake install