【问题标题】:Ruby 'bundle install' error when following 'Heroku getting started': Failed to build gem native extension遵循“Heroku 入门”时出现 Ruby“捆绑安装”错误:无法构建 gem 原生扩展
【发布时间】:2014-09-19 05:52:48
【问题描述】:

我从一开始就关注Heroku getting started 到“捆绑安装”(步骤#declare-app-dependencies),发现一个错误。一些依赖项似乎丢失了,但我不知道如何找到它们。谁能告诉我该怎么做?

$ bundle install
Fetching gem metadata from https://rubygems.org/...........
Resolving dependencies...
Using rake 10.3.2
Using i18n 0.6.9

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/usr/bin/ruby2.0 extconf.rb 
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h


Gem files will remain installed in /tmp/bundler20140919-3839-1mafrop/json-1.8.1/gems/json-1.8.1 for inspection.
Results logged to /tmp/bundler20140919-3839-1mafrop/json-1.8.1/gems/json-1.8.1/ext/json/ext/generator/gem_make.out
An error occurred while installing json (1.8.1), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.1'` succeeds before bundling.

环境=

  1. linuxmint 64bit 作为 VM 来宾
  2. ruby 2.0.0p299 (2013-08-29) [x86_64-linux-gnu]
  3. gem -v = 2.0.7
  4. gem list --local = bundler (1.7.3), i18n (0.6.9), rake (10.3.2)
  5. 已安装Heroku Toolbelt
  6. 按照说明使用example code

【问题讨论】:

标签: ruby heroku gem


【解决方案1】:

经过几个小时的试用,我终于可以bundle install。我做了

sudo apt-get purge ruby*
sudo apt-get install ruby
sudo apt-get install ruby-dev
sudo gem install bundler

在这些之后,bundle install 通过 json-1.8.1 没有错误。然后错误来了

...
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
...

原来如此

sudo apt-get install libpq-dev

然后再次bundle install。它写着Your bundle is complete!


为了你的参考,我也做了以下。我不知道Heroku getting started这个例子是否真的需要它们。

sudo apt-get install postgresql postgresql-contrib
sudo apt-get install libmagickwand-dev python-dev

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多