Ruby on rails Can';不要在山狮上安装pg gem
升级到Mountain Lion后,Rails给我带来了很多麻烦 为了解决这些问题,并在互联网上搜索数小时,到目前为止,我已经做了以下工作,以确保我的系统在升级后具有运行rails的所有依赖项:Ruby on rails Can';不要在山狮上安装pg gem,ruby-on-rails,macos,postgresql,osx-mountain-lion,Ruby On Rails,Macos,Postgresql,Osx Mountain Lion,升级到Mountain Lion后,Rails给我带来了很多麻烦 为了解决这些问题,并在互联网上搜索数小时,到目前为止,我已经做了以下工作,以确保我的系统在升级后具有运行rails的所有依赖项: 我更新了我的自制软件安装 我更新了我的RVM安装 我安装了XCode命令行工具 我安装了GCC 我将我的Ruby版本升级到 ruby 1.9.2p290(2011-07-09修订版32553)[x86_64-darwin10.8.0] 我的Rails版本已验证为Rails 3.2.6 我还发现Moun
export PATH="/usr/local/bin:/usr/bin:$PATH"
Rails s
时,出现以下错误:
AM@~/Documents/RailsWS/app0815 >gem install pg
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/Users/AM/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
checking for libpq-fe.h... *** 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
--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/AM/.rvm/rubies/ruby-1.9.2-p290/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
--without-pg-config
--with-pg_config
--without-pg_config
/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:368:in `try_do':
The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp'
from /Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:853:in `block in find_header'
from /Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
from /Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
from /Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
from /Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
from /Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
from /Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:852:in `find_header'
from extconf.rb:41:in `<main>'
Gem files will remain installed in /Users/AM/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.14.1 for inspection.
Results logged to /Users/AM/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.14.1/ext/gem_make.out
AM@~/Documents/RailsWS/app0815>gem安装页面
构建本机扩展。这可能需要一段时间。。。
错误:安装pg时出错:
错误:无法生成gem本机扩展。
/Users/AM/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
正在检查pg_配置。。。对
使用/usr/bin/pg_config中的配置值
正在检查libpq fe.h...**extconf.rb失败***
由于某些原因无法创建Makefile,可能是缺少
必要的库和/或标题。查看mkmf.log文件了解更多信息
细节。您可能需要配置选项。
提供的配置选项:
--使用opt dir
--选择包含
--不带opt include=${opt dir}/include
--使用opt lib
--不带opt lib=${opt dir}/lib
--用make prog
--没有make prog
--srcdir=。
--库尔迪尔
--ruby=/Users/AM/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
--与pg
--无pg
--与pg dir
--没有pg dir
--与pg包括
--不带pg include=${pg dir}/include
--用pg-lib
--不带pg lib=${pg dir}/lib
--使用pg配置
--没有pg配置
--带-pg_配置
--不带-pg_配置
/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:368:in'try_do':
编译器未能生成可执行文件。(运行时错误)
您必须首先安装开发工具。
from/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:452:in'try_cpp'
from/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:853:in'block in find_header'
from/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:693:in'block in checking_'
from/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:280:in“延迟中的块(2级)”中
from/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:254:in'open'
from/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:280:in'block in delay'
from/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:254:in'open'
from/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:276:in“推迟”
from/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:692:in'checking_'
from/Users/AM/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/mkmf.rb:852:in'find_header'
来自extconf.rb:41:in`'
Gem文件仍将安装在/Users/AM/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.14.1中以供检查。
结果记录到/Users/AM/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.14.1/ext/gem\u make.out
当我转到Rails应用程序并尝试捆绑安装时,pg安装失败。从下载postgresSQL安装程序 然后让你的路径看起来像这样:
PATH=$PATH:/Library/PostgreSQL/9.0/bin/ gem install pg
这就行了
注意:请在路径中正确指定您的postgreSQL安装版本
更新(2015年11月10日)(摘自)
在使用自制软件的OS X上:
brew安装postgresql
gem安装pg--with pg config=/usr/local/bin/pg_config
gem安装pg--with pg config=/opt/local/lib/postgresql84/bin/pg_config
希望这有帮助 正如banditKing在回答中所说,我们需要告诉gem在哪里可以找到postgres二进制文件。您可以使用Heroku()提供的优秀且简单的postgres.app附带的二进制文件来安装此gem,而不是EnterpriseDb版本。EnterpriseDB版本非常好,但是对于开发人员机器来说,这是一个复杂的安装 在您的系统上下载Postgres.app,并将内部bin目录添加到您的路径中。我把它放在
/Applications/Postgres.app
中,所以我使用了
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
在10.8.2、Ruby 1.9.3、pg-0.14.1和XCode CLI工具上为我工作过。或者,使用Postgres应用程序。在我看来,这是在Mac上启动并运行PostgreSQL和Rails最简单、最快的方法
有关详细说明:安装Mavericks
包更新后,
在pg gem上抛出错误
我使用Brew管理我的软件包,postgresql已经安装,但仍然出现“no pg_config”错误
修复方法是只
brew卸载postgresql
,然后brew安装postgresql
。在此之后,我立即能够成功运行bundle update
请注意,您的Rails和Ruby版本都很旧,并且都存在已知的安全缺陷。到目前为止,最新版本是Rails 3.2.8和Ruby 1.9.2-p320/1.9.3-p194。您是否按照我在您先前的问题(现已删除?)中的建议通过自制进行安装?@deefore我不记得看到您的回答。与其他解决方案相比,此解决方案对我有效!谢谢你:)伙计,你是我的英雄!我花了大约一个小时才找到解决办法!