Gem::Ext::BuildError: 构建 Rails 4.2.6 版本的本地 gem 扩展失败。

21

我创建了一个新的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'时会发生什么? - Sajin
2
它显示了这个错误 错误:无法构建本地扩展宝石。 - Pasupathi Thangavel
3个回答

23
如果您有一台 Mac 或 Linux 计算机,请尝试以下命令:

sudo apt-get install ruby-dev
如果失败了,你的输出是什么?
gem install json -v '1.8.6'

类似问题

我不确定如何解决Mac的问题,但是人们使用brew install ruby取得了积极的经验。


1
apt-get在Mac上不能直接使用。或许可以添加brew版本的工具? - rentedrainbow
@rentedrainbow 我在我的 Mac 上无法复制这个问题,你知道需要用 brew 安装什么吗? - Mugur 'Bud' Chirica
2
是的,在 macOS 上执行了 brew install ruby 命令,然后它又可以正常工作了。 - appsunited
我在我的 Mac 上没有遇到这个问题,但是我还是发了 @appsunited 的建议,以防会有人需要。 - Mugur 'Bud' Chirica
我得到的错误是:致命错误:找不到“ruby/config.h”文件 #include "ruby/config.h" - CanCoder

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

0
首先检查 ruby 版本和 rvm 列表,如果没有安装 rvm,则需要安装 rvm

你能提供一些更清晰的关于运行命令的说明吗? - user3603486
https://www.phusionpassenger.com/library/walkthroughs/deploy/ruby/ownserver/nginx/oss/install_language_runtime.html - George
请按照完整指南安装Linux上的Rails:https://www.howtoforge.com/tutorial/installing-ruby-on-rails-on-ubuntu-1404/ - Vipul Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接