ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/jekyll
我在尝试安装Jekyll时遇到权限错误。我目前正在运行OSX 10.11(El Capitan)。我也有Xcode 7并安装了开发人员工具。是否有解决方法或这是操作系统特定的问题?
答案 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
下的默认受保护位置。
答案 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/
唯一的缺点是每次使用sudo时都必须输入密码,这不是什么大问题。我宁愿这样做而不是安装更多依赖项。无论如何你应该在github上托管你的Jekyll配置,这样你就不必处理命令行了。这是我关于如何使用github设置Jekyll的文章:http://stylekit.org/blog/2016/01/06/The-Jekyll-Setup/
从那时起,我已经制作了一个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,您可以在任何带浏览器的计算机上工作,无需安装任何内容。
index.md文件的内容:
---
title: Home
---
Hello world!
使用Cloud9,您可以在Linux上进行开发,感觉像专业人士。试试吧!你会爱上它。
答案 8 :(得分:-3)
尝试:
sudo su
输入您的密码,再次以root gem install jekyll