如何在 OSX 10.11 上安装 Jekyll?
How can I install Jekyll on OSX 10.11?
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/jekyll
我在尝试安装 Jekyll 时遇到权限错误。我目前 运行 OSX 10.11 (El Capitan)。我也有 Xcode 7 并安装了开发者工具。是否有解决方法或者这是一个 OS 特定问题?
尝试:
sudo su
输入您的密码,以 root 身份重试 gem install jekyll
这似乎是一个 OS 特定问题。我在这里发现了类似的问题,我在这里找到的答案有助于解决问题:
Cannot install cocoa pods after uninstalling, results in error
我运行进入同样的错误信息。
通过从 brew 安装 ruby 解决了我的问题。
sudo nvram boot-args="rootless=0"; sudo reboot
reboot
sudo gem install jekyll -V
cd into directory
jekyll serve --watch
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
这是 OS X El Capitan 中 Apple 新的无根(又名系统完整性保护或 SIP)功能的副作用,但它不会影响 /usr/local/bin.
您可以尝试以下方法:
sudo gem install -n /usr/local/bin/ jekyll
这告诉 gem 将 Jekyll 安装到不受 SIP 保护的文件夹中,而不是 /Library/Ruby/Gems
下的默认受保护位置。
OS X 的新 El Capitan 版本有一项名为 SIP that won't let users (even when using sudo
) write to the /usr/bin
folder. This breaks the install process. You can disable SIP 的新技术,但我更愿意继续使用它,因为它可以防止坏东西。
SIP 允许在 /usr/local
文件夹中写入,所以我所做的是使用 brew 手动安装 ruby,然后安装 jekyll。效果很好。
sudo brew install ruby
不要用 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
如果您无法让它工作,您可以随时尝试 Cloud9。
Cloud9 在云端提供完整的开发环境 (运行 Linux)。他们的 IDE 也很好,他们的环境也非常适合协作。设置 Git 非常简单(使用 'git clone' 命令)。使用 Cloud9,您将能够在任何带有浏览器的计算机上工作,而无需安装任何东西。
- 在 Cloud9 上创建一个免费帐户 (https://c9.io)
- 创建一个空项目 (Ubuntu) 并按照以下步骤操作:
- 在命令行输入:gem安装jekyll
- 在根目录中创建一个空的 _config.yml 文件
- 在根目录中创建一个 index.md 文件
- 在命令行中输入:jekyll serve --host $IP --port $PORT --baseurl ''
- 您的网站现在 运行 'locally' 在 Cloud9
上
您的 index.md 文件的内容:
---
title: Home
---
Hello world!
使用 Cloud9,您可以在 Linux 上进行开发,感觉自己像个专业人士。尝试一下!你会喜欢的。
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/jekyll
我在尝试安装 Jekyll 时遇到权限错误。我目前 运行 OSX 10.11 (El Capitan)。我也有 Xcode 7 并安装了开发者工具。是否有解决方法或者这是一个 OS 特定问题?
尝试:
sudo su
输入您的密码,以 root 身份重试 gem install jekyll
这似乎是一个 OS 特定问题。我在这里发现了类似的问题,我在这里找到的答案有助于解决问题: Cannot install cocoa pods after uninstalling, results in error
我运行进入同样的错误信息。
通过从 brew 安装 ruby 解决了我的问题。
sudo nvram boot-args="rootless=0"; sudo reboot
reboot
sudo gem install jekyll -V
cd into directory
jekyll serve --watch
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
这是 OS X El Capitan 中 Apple 新的无根(又名系统完整性保护或 SIP)功能的副作用,但它不会影响 /usr/local/bin.
您可以尝试以下方法:
sudo gem install -n /usr/local/bin/ jekyll
这告诉 gem 将 Jekyll 安装到不受 SIP 保护的文件夹中,而不是 /Library/Ruby/Gems
下的默认受保护位置。
OS X 的新 El Capitan 版本有一项名为 SIP that won't let users (even when using sudo
) write to the /usr/bin
folder. This breaks the install process. You can disable SIP 的新技术,但我更愿意继续使用它,因为它可以防止坏东西。
SIP 允许在 /usr/local
文件夹中写入,所以我所做的是使用 brew 手动安装 ruby,然后安装 jekyll。效果很好。
sudo brew install ruby
不要用 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
如果您无法让它工作,您可以随时尝试 Cloud9。
Cloud9 在云端提供完整的开发环境 (运行 Linux)。他们的 IDE 也很好,他们的环境也非常适合协作。设置 Git 非常简单(使用 'git clone' 命令)。使用 Cloud9,您将能够在任何带有浏览器的计算机上工作,而无需安装任何东西。
- 在 Cloud9 上创建一个免费帐户 (https://c9.io)
- 创建一个空项目 (Ubuntu) 并按照以下步骤操作:
- 在命令行输入:gem安装jekyll
- 在根目录中创建一个空的 _config.yml 文件
- 在根目录中创建一个 index.md 文件
- 在命令行中输入:jekyll serve --host $IP --port $PORT --baseurl ''
- 您的网站现在 运行 'locally' 在 Cloud9 上
您的 index.md 文件的内容:
---
title: Home
---
Hello world!
使用 Cloud9,您可以在 Linux 上进行开发,感觉自己像个专业人士。尝试一下!你会喜欢的。