【问题标题】:Gem::Ext::BuildError: ERROR: Failed to build gem native extension for rails version 4.2.6Gem::Ext::BuildError: 错误: 无法为 rails 4.2.6 版构建 gem 原生扩展
【发布时间】:2017-12-07 15:44:01
【问题描述】:

我创建了新的 rails 应用程序并尝试运行 bundle install 它显示此错误,

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.3.0/gems/json-1.8.6/ext/json/ext/generator/usr/bin/ruby2.3 -r ./siteconf20170704-11395-12tpg5u.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.3.0/gems/json-1.8.6 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/json-1.8.6/gem_make.out

An error occurred while installing json (1.8.6), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.6'` succeeds before bundling

请给我一些建议,在此先感谢。

【问题讨论】:

  • 当你gem install json -v '1.8.6'时会发生什么
  • 显示此错误 ERROR: Failed to build gem native extension.

标签: ruby-on-rails ruby ruby-on-rails-3 rubygems


【解决方案1】:

如果您有 Mac 或 Linux 机器,请尝试以下命令:

sudo apt-get install ruby-dev

如果失败,你的输出是什么:

gem install json -v '1.8.6'

(请复制并粘贴所有输出)。

Similar issue

我不确定什么会为 Mac 解决这个问题,但人们对 brew install ruby 有积极的体验。

【讨论】:

  • apt-get 在 Mac 中无法开箱即用。也许也添加这个的 brew 版本?
  • @rentedrainbow 我无法在我的 Mac 上复制它,你知道你需要用 brew 安装什么吗?
  • 是的,brew install ruby 做了,然后它又在 macOS 上运行了。
  • 我没有在我的 Mac 上遇到这种情况,但我发布了@appsunited 的建议,以防万一它对人们有所帮助。
  • 这是我得到的错误:致命错误:找不到'ruby/config.h'文件#include "ruby/config.h"
【解决方案2】:

如果有人在使用 Mac OS Big Sur 时遇到此错误,请将 ruby​​ 版本更新到至少 2.7。我正在使用 rvm 来解决这个问题。

【讨论】:

    【解决方案3】:

    首先检查ruby版本和rvm列表 如果 rvm 未安装,则安装 rvm

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    相关资源
    最近更新 更多