如何在OSX 10.11上安装Jekyll?

时间:2015-07-22 15:05:44

标签: ruby macos jekyll

ERROR:  While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/jekyll

我在尝试安装Jekyll时遇到权限错误。我目前正在运行OSX 10.11(El Capitan)。我也有Xcode 7并安装了开发人员工具。是否有解决方法或这是操作系统特定的问题?

9 个答案:

答案 0 :(得分:27)

这是Apple在OS X El Capitan中新的无根(又称系统完整性保护或SIP)功能的副作用,但它不会影响 / usr / local / bin

您可以尝试以下方法:

sudo gem install -n /usr/local/bin/ jekyll

这告诉gem将Jekyll安装到不受SIP保护的文件夹中,而不是/Library/Ruby/Gems下的默认受保护位置。

这是solution suggested by Jekyll's developers

答案 1 :(得分:9)

Apple已添加系统完整性保护(SIP)以提高安全性。这意味着Jekyll在使用默认的Ruby安装时受到了影响。 More details on SIP

为了解决这个问题,其他用户一直在安装Homebrew版本。 Jekyll v3.0也可能会开始使用这个版本。

  • 安装Xcode命令行实用程序:

    xcode-select --install
    
  • 安装Homebrew(http://brew.sh上的说明)

  • 修改$PATH以使用Homebrew:

    export PATH=/usr/local/bin:$PATH
    
  • 修改GUI应用的$PATH

    launchctl setenv PATH "/usr/local/bin:$PATH"
    
  • 安装最新的Ruby:

    brew install ruby
    
  • 安装最新的Jekyll:

    gem install jekyll
    

答案 2 :(得分:1)

不要用Homebrew安装Jekyll,Homebrew的安全性未知:https://security.stackexchange.com/questions/105088/osx-homebrew-security-risks

以下是如何在没有homeBrew的情况下安装它:使用vanilla OSX el cap:http://digitalshore.io/how-to-install-jekyll-mac-os-x-el-capitan/

更新1:

唯一的缺点是每次使用sudo时都必须输入密码,这不是什么大问题。我宁愿这样做而不是安装更多依赖项。无论如何你应该在github上托管你的Jekyll配置,这样你就不必处理命令行了。这是我关于如何使用github设置Jekyll的文章:http://stylekit.org/blog/2016/01/06/The-Jekyll-Setup/

更新2:

从那时起,我已经制作了一个30秒的视频教程,介绍如何在github上设置jekyll博客:https://vimeo.com/154566844

答案 3 :(得分:0)

这似乎是一个特定于操作系统的问题。我在这里发现了类似的问题,我在这里找到的答案有助于解决问题: Cannot install cocoa pods after uninstalling, results in error

答案 4 :(得分:0)

我遇到了同样的错误消息。

通过从brew中安装红宝石解决了我。

答案 5 :(得分:0)

sudo nvram boot-args="rootless=0"; sudo reboot
reboot
sudo gem install jekyll -V
cd into directory
jekyll serve --watch

答案 6 :(得分:0)

OS X的新El Capitan版本有一项名为SIP的新技术,不允许用户(即使使用sudo)写入/usr/bin文件夹。这会破坏安装过程。你可以disable SIP,但我更愿意保留它,因为它可以防止坏事。

SIP确实允许在/usr/local文件夹中写入,所以我所做的是使用brew在那里手动安装ruby,然后安装jekyll。这工作得很好。

sudo brew install ruby

答案 7 :(得分:0)

如果你无法让它工作,你可以随时尝试Cloud9。

Cloud9在云中提供完整的开发环境(运行Linux)。他们的IDE也非常好,他们的环境对于协作也非常有用。设置Git非常简单(使用'git clone'命令)。使用Cloud9,您可以在任何带浏览器的计算机上工作,无需安装任何内容。

  1. 在Cloud9(https://c9.io
  2. 上创建一个免费帐户
  3. 创建一个空项目(Ubuntu)并按照以下步骤操作:
  4. 在命令行输入:gem install jekyll
  5. 在根
  6. 中创建一个空的_config.yml文件
  7. 在根
  8. 中创建index.md文件
  9. 在命令行输入:jekyll serve --host $ IP --port $ PORT --baseurl''
  10. 您的网站现在正在Cloud9上“本地”运行
  11. index.md文件的内容:

    ---
    title: Home
    ---
    
    Hello world!
    

    使用Cloud9,您可以在Linux上进行开发,感觉像专业人士。试试吧!你会爱上它。

答案 8 :(得分:-3)

尝试:

 sudo su

输入您的密码,再次以root gem install jekyll

重试