繁体   English   中英

错误:无法在OSX 10.9.4上构建gem本机扩展(捆绑安装)

[英]ERROR: Failed to build gem native extension (bundle install) on OSX 10.9.4

运行:OSX 10.9.4,Ruby 2.1.5,Rails 4.1.8(但项目子文件夹中的4.1.6)

在项目子文件夹中安装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: --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/asanchez/.rvm/rubies/ruby-2.1.5/bin/ruby --with-pg --without-pg --with-pg-config --without-pg-config --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 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 

这个问题是Mac上的常见问题(至少以我的经验)。 它的长短之处在于它无法在您的系统上找到PosgreSQL安装的配置文件。

当我第一次添加pg gem时(即,在安装了Ruby的升级版本之后),我使用以下命令:

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

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

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

另外,请勿通过Bundler安装此设备。 那对我从来没有用过。 我一直不得不使用gem install命令。 然后,当我运行bundle xxxxx它永远不会失败。

希望有帮助!

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

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

如果这让您放慢了速度,那么另一个选择是打开您的gemfile并将postgres放入生产组中。 您可以在习惯Rails的同时使用sqlite 3,然后再担心PG。 要将其放入自己的组中,请打开您的Gemfile并将pg放入其自己的组中:

group :assets do
  gem 'pg'
end

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM