2014-12-02 120 views
0

运行:OSX 10.9.4,Ruby 2.1.5,Rails 4.1.8(但项目子文件夹中为4.1.6)错误:无法在OSX上创建gem本机扩展(捆绑安装)10.9.4

我在项目子文件夹中安装gem存在问题。捆绑安装似乎失败在jquery-rails 3.1.2。在Stackoverflow找不到解决方案,所以询问是否有人知道如何解决?

下面是输出:

Macintosh:~ asanchez$ cd Projects 
 
Macintosh:Projects asanchez$ ls 
 
rails-2 
 
Macintosh:Projects asanchez$ cd rails-2 
 
Macintosh:rails-2 asanchez$ bundle install 
 
Fetching gem metadata from https://rubygems.org/......... 
 
Installing rake 10.3.2 
 
Using i18n 0.6.11 
 
Using json 1.8.1 
 
Using minitest 5.4.3 
 
Using thread_safe 0.3.4 
 
Using tzinfo 1.2.2 
 
Installing activesupport 4.1.6 
 
Using builder 3.2.2 
 
Using erubis 2.7.0 
 
Installing actionview 4.1.6 
 
Using rack 1.5.2 
 
Using rack-test 0.6.2 
 
Installing actionpack 4.1.6 
 
Using mime-types 2.4.3 
 
Using mail 2.6.3 
 
Installing actionmailer 4.1.6 
 
Installing activemodel 4.1.6 
 
Using arel 5.0.1.20140414130214 
 
Installing activerecord 4.1.6 
 
Installing sass 3.2.19 
 
Installing bootstrap-sass 3.3.1.0 
 
Installing coffee-script-source 1.8.0 
 
Installing execjs 2.2.2 
 
Installing coffee-script 2.3.0 
 
Using thor 0.19.1 
 
Installing railties 4.1.6 
 
Installing coffee-rails 4.0.1 
 
Installing font-awesome-sass 4.2.2 
 
Using hike 1.2.3 
 
Using multi_json 1.10.1 
 
Installing jbuilder 2.2.5 
 
Installing jquery-rails 3.1.2 
 

 
Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 
 

 
    /Users/asanchez/.rvm/rubies/ruby-2.1.5/bin/ruby -r ./siteconf20141202-33892-1jyqcz2.rb 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 
 
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: 
 
\t --with-opt-dir 
 
\t --with-opt-include 
 
\t --without-opt-include=${opt-dir}/include 
 
\t --with-opt-lib 
 
\t --without-opt-lib=${opt-dir}/lib 
 
\t --with-make-prog 
 
\t --without-make-prog 
 
\t --srcdir=. 
 
\t --curdir 
 
\t --ruby=/Users/asanchez/.rvm/rubies/ruby-2.1.5/bin/ruby 
 
\t --with-pg 
 
\t --without-pg 
 
\t --with-pg-config 
 
\t --without-pg-config 
 
\t --with-pg_config 
 
\t --without-pg_config 
 
\t --with-pg-dir 
 
\t --without-pg-dir 
 
\t --with-pg-include 
 
\t --without-pg-include=${pg-dir}/include 
 
\t --with-pg-lib 
 
\t --without-pg-lib=${pg-dir}/lib 
 

 
extconf failed, exit code 1 
 

 
Gem files will remain installed in /Users/asanchez/.rvm/gems/ruby-2.1.5/gems/pg-0.17.1 for inspection. 
 
Results logged to /Users/asanchez/.rvm/gems/ruby-2.1.5/extensions/x86_64-darwin-13/2.1.0/pg-0.17.1/gem_make.out 
 
An error occurred while installing pg (0.17.1), and Bundler cannot continue. 
 
Make sure that `gem install pg -v '0.17.1'` succeeds before bundling.

而且,这里的输出,当我检查的Rails版本:

Macintosh:rails-2 asanchez$ rails --version 
 
Rails 4.1.6 
 
Macintosh:rails-2 asanchez$ cd .. 
 
Macintosh:Projects asanchez$ rails --version 
 
Rails 4.1.8

回答

1

的问题是Mac上常见的问题(至少在我的经验中)。总而言之,它无法在您的系统上找到PosgreSQL安装的配置文件。

当我添加了pg宝石的第一次(即安装Ruby的升级版后),我用的是以下几点:

gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config 

请注意,我用的是Postgres Mac app,因为我觉得它更容易比手动或通过Homebrew安装PG。当前版本的应用程序名称中不再包含93。

无论您如何安装PostgreSQL,您需要将rubygems指向PG的正确配置文件,否则将无法安装。

另外,不要通过Bundler安装这一个。这从来没有为我工作。我一直不得不使用gem install命令。然后,当我运行bundle xxxxx它永远不会失败。

希望有帮助!

1

看起来它实际上在pg gem(postgres)失败。

您必须首次手动安装postgres,因此请尝试单独运行gem install postgres。

另一个选择,如果这会让你放慢速度,那就是打开你的gemfile并把postgres放到生产组中。你可以在习惯rails时使用sqlite 3,然后再担心PG。把它放在自己的组中,打开您的Gemfile,并把皮克在自己的组:

group :assets do 
    gem 'pg' 
end 

和运行"bundle install --without-production"

另外,您可以运行bundle install --without-pg,但请注意,这两种方式都是一种哈克。如果您希望快速入门,请使用它们,然后再担心您的环境。

相关问题