在ruby项目构建期间,尝试安装pg gem失败

ets*_*uer 5 ruby postgresql rvm pg

我正在尝试构建一个使用本地运行的postgres的ruby项目.pg gem install上的构建失败.我收到这个错误

$ gem install pg -v '0.12.2'
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

    /path/to/.rvm/rubies/ruby-1.9.3-p545/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
    --with-pg-config=/path/to/pg_config
Run Code Online (Sandbox Code Playgroud)

所以......我传递了pg_config路径,并得到了一个不同的错误:

$ gem install pg --with-pg-config=/usr/pgsql-9.2/bin/pg_config -v '0.12.2'
ERROR:  While executing gem ... (OptionParser::InvalidOption)
    invalid option: --with-pg-config=/usr/pgsql-9.2/bin/pg_config
Run Code Online (Sandbox Code Playgroud)

非常困惑.

Jea*_*ure 7

确保安装了libpq-dev软件包.如果不这样做,请安装它并尝试在没有--with-pg-config参数的情况下再次安装pg .

关于--with-pg-config参数:

将参数传递给您正在安装的gem时,必须在选项的两个破折号前使用两个破折号,如下所示:

gem install gem-name -- --gem-option
Run Code Online (Sandbox Code Playgroud)

因此,为了使用--with-pg-config选项实现安装pg,您想要运行的是:

gem install pg -v '0.12.2' -- --with-pg-config=/usr/pgsql-9.2/bin/pg_config
Run Code Online (Sandbox Code Playgroud)

编辑

另外,最后一个提示,在搜索了一下这个问题后,我发现你的ruby版本和架构可能会影响pg的安装,我引用了这个链接:

我对卸载所有东西犹豫不决,所以我只是卸载了Ruby并重新安装了选项设置为64位(平台:"x86_64-darwin12.2.0").使用此选项重新安装Ruby后,PG gem安装顺利,我恢复了快乐.

  • 是的,我实际上使用$ export CONFIGURE_ARGS ="with-pg-config =/usr/pgsql-9.2/bin/pg_config"$ gem install pg -v'0.12.2' (2认同)