【问题标题】:How can I install Jekyll on OSX 10.11?如何在 OSX 10.11 上安装 Jekyll?
【发布时间】:2015-10-12 13:24:16
【问题描述】:
ERROR:  While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/jekyll

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

【问题讨论】:

标签: ruby macos jekyll


【解决方案1】:

如果您无法使其正常工作,您可以随时尝试 Cloud9。

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

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

你的 index.md 文件的内容:

---
title: Home
---

Hello world!

使用 Cloud9,您可以在 Linux 上进行开发并感觉自己是专业人士。试试吧!你会喜欢的。

【讨论】:

    【解决方案2】:

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

    以下是在没有 homeBrew 的情况下安装它的方法:使用香草 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】:

      这是 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

      【讨论】:

      【解决方案4】:

      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
        

      【讨论】:

      • +1 用于 SIP 链接。 @blessing 答案对我来说实际上是什么伎俩:sudo gem install -n /usr/local/bin/ jekyll
      • 感谢您尝试安装最新版本的 Ruby 以使用 Jekyll 的建议,以前使用稍旧版本的 Ruby 对我不起作用,现在可以了!非常感谢!
      【解决方案5】:
      sudo nvram boot-args="rootless=0"; sudo reboot
      reboot
      sudo gem install jekyll -V
      cd into directory
      jekyll serve --watch
      

      【讨论】:

      • 好的答案解释并提供代码。考虑更新您的答案,以包含有关此代码如何工作以及为什么它是最佳选择的说明。
      • 仅为 Jekyll 禁用 SIP 可能有点过分。
      【解决方案6】:

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

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

      sudo brew install ruby
      

      【讨论】:

      • 一般来说brew不需要sudo
      【解决方案7】:

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

      通过从 brew 安装 ruby​​ 为我解决了问题。

      【讨论】:

        【解决方案8】:

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

        【讨论】:

          【解决方案9】:

          试试:

           sudo su
          

          输入您的密码,以root身份重试gem install jekyll

          【讨论】:

          • 我在sudo su 上收到错误sh: prompt_git: command not found
          • 这可能与错误的 PATH 变量有关吗?
          • 似乎返回相同的错误!我猜不支持 OSX 10.11?
          • 我觉得跟OXS版没关系
          猜你喜欢
          • 1970-01-01
          • 2016-03-27
          • 2016-02-02
          • 2012-06-28
          • 1970-01-01
          • 2019-12-15
          • 1970-01-01
          • 1970-01-01
          • 2021-03-21
          相关资源
          最近更新 更多