安装Jekyll时出错 - 本地扩展构建错误

64
我遇到了安装jekyll的一些问题。无法弄清楚如何修补缺失的链接。我认为这是Ruby的更新问题,但RVM也无法安装替代版本的ruby。
$ sudo gem install jekyll    

ERROR:  Error installing jekyll:
ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/fast-stemmer-1.0.1 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/fast-stemmer-1.0.1/ext/gem_make.out

这是否意味着我需要通过rvm更新我正在使用的ruby版本?

你具体运行了什么命令来更新 RVM 并切换 Ruby 版本? - Noah Clark
嘿,Noah,我正在尝试安装$rvm install ruby-1.9.2-p320。 - Robb Schiller
如果您提供您输入的确切命令以及完整的输出,那将会非常有帮助。尽量使用代码高亮功能。 - Noah Clark
谢谢指出这一点,Noah。我添加了我用于安装Jekyll的命令及其输出。 - Robb Schiller
which make 返回什么? - Noah Clark
25个回答

195

Ubuntu

  1. sudo apt-get install ruby-dev
  2. gem install jekyll

64
但它确实解决了我的Ubuntu问题,因为问题标题没有提到操作系统。 - Larry Cai
OP没有明确提到,但是带有“/System/Library/Frameworks”错误消息非常显眼。无论如何,在Ubuntu 13.10上对我起作用了。 - erb
1
谢谢!我不得不执行 sudo apt-get remove ruby,因为我安装了 Ruby 1.9.3,它不允许我执行 sudo gem install jekyll - Brady Trainor
2
安装 Ruby 开发工具解决了这个问题。PS:对于 Fedora:# dnf install ruby ruby-dev - Charles-Eugene Loubao
1
在我的情况下也一样,提供的版本不匹配,但是尝试了ruby-dev之后就可以工作了,通常当你缺少需要编译的某些软件包时会出现这种情况。 - m3nda
显示剩余3条评论

11
你的问题可能是系统不知道make的位置或者你没有安装它。解决这个问题(也许是在尝试运行Ruby系统时遇到的其他问题),最简单的方法是安装Xcode。
你可以从以下网址获得:http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12,如果你使用的是Lion版本。如果是早期版本,它会随电脑一起附带在CD里。
如果你使用的是Lion版本,请查看下面的评论以获取如何在Lion上安装开发工具的链接。

太好了!谢谢Noah,很高兴听到问题已经解决。现在安装已经进行了大约30分钟。 - Robb Schiller
我看到你在这里相对较新,所以如果我的解决方案有效,你应该回来将其标记为可接受的答案,以便其他人可以从中受益。 - Noah Clark
2
非常感谢您的帮助@NoahClark - 不幸的是,我已经安装了Xcode,但在运行sudo gem install jekyll时仍然遇到相同的问题 - 我将尝试通过rvm再次更新ruby? - Robb Schiller
1
运行 which make 命令仍然返回空。 - Robb Schiller
在命令行中输入/usr/bin/make会给你什么结果?你以前有没有在系统上编译过任何源代码? - Noah Clark
显示剩余4条评论

7

我在Ubuntu上遇到了同样的错误,这个链接帮助我解决了问题。

你必须安装ruby-dev。

apt-get install ruby-dev

6
如果您安装了XCode但是命令行工具仍然缺失,请前往终端并输入以下命令:xcode-select --install。它将提示您安装这些工具。之后只需按照SrBlanco的答案进行操作。这对我解决了问题。祝您好运。

5
需要安装“make”。 我正在使用Ubuntu 12.10。 sudo apt-get install make 应该适用于任何基于Debian的发行版。

3
注意:这个问题也会出现在预装Mavericks的新款MacBook Pro上。我更新了另一篇帖子,介绍了我的解决方案,完全不需要使用Xcode。当我得到这台机器时,我的系统已经安装了Xcode开发工具。
错误:安装jekyll时出错:错误:无法构建本地扩展宝石。请参考此处

2

在我的Mac上,安装Xcode命令行工具解决了我的问题。

xcode-select --install


2
如果您还没有安装Xcode,请按照说明进行安装(https://developer.apple.com/xcode/)。此外,您还需要命令行工具。
打开Xcode。转到“偏好设置 > 下载 > 安装命令行工具”。

1
请不要多次发布相同的答案,特别是如果您基本上在重复其他答案所说的内容。如果您发现重复的问题,请标记它们以便合并。 - Mat
我用同样的答案回答了两个问题,因为我猜想人们会看到这两个答案。我不知道你重复其他答案的意义在哪里!命令行工具部分虽然没有明确提到,但是是解决方案中必不可少的一部分。仅有 Xcode 是不够的。 - j7nn7k

2
  • sudo apt-get install ruby-dev
  • sudo gem install jekyll

希望这对你有帮助,这在我的机器上有效。


1

我在我的Fedora 22设置中遇到了同样的问题。我已经安装了ruby,但没有安装ruby-devel。安装ruby-devel解决了我的问题。

dnf install -y ruby-devel

对于较旧的系统:
yum install -y ruby-devel

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