我在安装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版本?
答案 0 :(得分:195)
sudo apt-get install ruby-dev
gem install jekyll
答案 1 :(得分:11)
您的问题是您的系统不知道make所在的位置,或者您没有安装它。修复此问题的最简单方法(以及可能会尝试启动并运行ruby系统的其他问题)是安装xcode。
你可以在http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12获得狮子。或者它与您的计算机上的CD一起出现在早期版本中。
如果您正在使用Lion,请参阅以下评论,以获取有关如何在Lion上安装开发人员工具的链接。
答案 2 :(得分:7)
我在Ubuntu上遇到了同样的错误,this帮我解决了问题。
您必须安装ruby-dev
function removeEmpty(){
$('p:last').remove()
}
function init(){
$('p:last input').focus(function(event){
$(event.target).closest('p').append("<p class=''><label>middlename: </label><input></input></p>")
init()
})
$('p:last input').blur(function(event){
console.log($(event.target).val())
if(!$(event.target).val()){
removeEmpty()
}
})
}
init()
答案 3 :(得分:6)
答案 4 :(得分:5)
需要安装“make”。
我正在使用Ubuntu 12.10。
sudo apt-get install make
应该适用于任何基于Debian的发行版。
答案 5 :(得分:3)
注意:在预装Mavericks的新MacBook Pro型号上也会出现此问题。我用我自己的解决方案更新了另一篇文章,根本不涉及Xcode。我拿到机器时系统安装了Xcode开发工具。
ERROR: Error installing jekyll: ERROR: Failed to build gem native extension
答案 6 :(得分:2)
为Xcode安装命令行工具解决了我在Mac上的问题
xcode-select --install
。
答案 7 :(得分:2)
希望这会有所帮助,它适用于我。
答案 8 :(得分:2)
如果您尚未安装Xcode,请安装Xcode(https://developer.apple.com/xcode/)。 Plus 您需要命令行工具。
打开Xcode。转到Preferences > Downloads > Install Command Line Tools
答案 9 :(得分:1)
我在尝试安装Jekyll时遇到了同样的错误,此链接中的以下步骤对我有帮助。以防万一其他人遇到这个!
答案 10 :(得分:1)
我在Fedora 22设置中遇到了同样的问题。我安装了ruby
但没有ruby-devel
。安装ruby-devel
为我解决了这个问题。
dnf install -y ruby-devel
对于旧系统:
yum install -y ruby-devel
答案 11 :(得分:1)
sudo apt install build-essential
sudo apt install ruby-dev
sudo gem install jekyll
答案 12 :(得分:0)
Debian上的问题,我忘了运行这个命令:
~/.rvm/scripts/rvm
答案 13 :(得分:0)
安装Xcode并转到首选项&gt;下载&gt;安装命令行工具WORKS!
答案 14 :(得分:0)
我遇到了同样的问题。
我使用Mac OS X 10.9开发预览版,我已经安装了gcc和Xcode。
但我的Xcode版本是4.6。
然后我安装Xcode 5.0
之后我再次在终端中输入sudo gem install jekyll
。然后就行了。
希望它可以帮助别人。
答案 15 :(得分:0)
所有这些答案对我都不起作用。
如果您正在寻找ubuntu 14.04上的解决方案,请执行以下操作:
sudo apt-get install ruby1.9.1-dev zlib1g-dev nodejs
sudo gem install jekyll -v 2.5.3
不幸的是,由于Jekyll中的一个错误强制存在运行时JS引擎,因此需要nodejs,即使它并不需要。
答案 16 :(得分:0)
附录:您可以在Mountain Lion上从App Store 安装 XCode。这个过程透明而且非常快。
答案 17 :(得分:0)
对于Ubuntu,这在我的案例中有所帮助:
apt-get install libffi-dev
一般建议是只关注显示的错误原因,并希望您将获得一个日志文件,其中第一行建议应安装哪个软件包,在我的情况下:
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/ffi-1.9.21/mkmf.log
答案 18 :(得分:0)
我对这个问题的解决方案
xcode-select --install
sudo gem install jekyll
PS:这是这个问题中两个答案的组合。
答案 19 :(得分:0)
您缺少ruby-dev文件,只需继续运行此命令-sudo apt-get install ruby-dev
希望这会有所帮助!
答案 20 :(得分:0)
我在macOS(10.14.2)上遇到了同样的问题,原因可能是:
显然,在OSX el Capitan中,有一个新的安全功能可以阻止您修改名为Rootless的系统文件。
我的解决方案是使用rvm:
答案 21 :(得分:0)
在Windows上,我有这个问题
我实际上安装了ruby的版本rubyinstaller-devkit-2.6.3-1-x64
我已经完全删除了ruby,并安装了rubyinstaller-devkit-2.5.5-1-x64
并在powershell上发出了以下命令
gem install bundler
gem install jekyll
这次没有发现错误
答案 22 :(得分:0)
我遇到了这个问题,所有的事情都发生了,因为我不同意xcode中的某些更新的服务条款,因此发生了错误。运行以下命令对我来说很有效。去搞清楚。
sudo xcodebuild -license accept
答案 23 :(得分:0)
对我来说,我必须升级自制软件并将rbenv
安装到最新的ruby版本。之后,我按照jekyll website上的说明进行操作。我的操作系统是Catalina 2019,我无法安装Xcode,尚不兼容!
您必须在
.bash_profile
中设置路径,以确保在重新启动终端时它初始化rbenv
。
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
然后
$ rbenv version
2.2.3 (set by /Users/mislav/.rbenv/version)
$ rbenv shell
rbenv: no shell-specific version configured
希望有帮助!