安装Jekyll时出错 - Native Extension Build

时间:2012-05-23 18:29:41

标签: ruby macos rubygems install jekyll

我在安装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版本?

24 个答案:

答案 0 :(得分:195)

Ubuntu的

  1. sudo apt-get install ruby-dev
  2. 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)

如果您安装了XCode并且仍然缺少命令行工具,请转到终端

xcode-select --install

它会提示您安装这些工具。之后,只需按SrBlanco´s回答。这解决了我的问题。

祝你好运。

答案 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)

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

希望这会有所帮助,它适用于我。

答案 8 :(得分:2)

如果您尚未安装Xcode,请安装Xcode(https://developer.apple.com/xcode/)。 Plus 您需要命令行工具。

打开Xcode。转到Preferences > Downloads > Install Command Line Tools

答案 9 :(得分:1)

我在尝试安装Jekyll时遇到了同样的错误,此链接中的以下步骤对我有帮助。以防万一其他人遇到这个!

http://davidensinger.com/2013/03/installing-jekyll/

答案 10 :(得分:1)

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

dnf install -y ruby-devel

对于旧系统:

yum install -y ruby-devel

答案 11 :(得分:1)

我在Ubuntu / Linux Mint上关注了此

  1. sudo apt install build-essential
  2. sudo apt install ruby-dev
  3. 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)

的MacOS

我对这个问题的解决方案

  1. 安装xcode
  2. 在命令行中输入xcode-select --install
  3. 在命令行中输入sudo gem install jekyll
  4. PS:这是这个问题中两个答案的组合。

答案 19 :(得分:0)

您缺少ruby-dev文件,只需继续运行此命令-sudo apt-get install ruby-dev

希望这会有所帮助!

答案 20 :(得分:0)

我在macOS(10.14.2)上遇到了同样的问题,原因可能是:

  

显然,在OSX el Capitan中,有一个新的安全功能可以阻止您修改名为Rootless的系统文件。

我的解决方案是使用rvm:

  1. install ruby on Mac OS X with RVM
  2. gem安装jekyll

答案 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

希望有帮助!