Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何在OSX 10.11上安装Jekyll?_Ruby_Macos_Jekyll - Fatal编程技术网

Ruby 如何在OSX 10.11上安装Jekyll?

Ruby 如何在OSX 10.11上安装Jekyll?,ruby,macos,jekyll,Ruby,Macos,Jekyll,我在尝试安装Jekyll时遇到权限错误。我目前正在运行OSX 10.11(El Capitan)。我也有Xcode 7,并安装了开发工具。是否有解决方法,或者这是操作系统特有的问题?尝试: ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/jekyll 输入密码,以rootgem install-jekyll的身份重试。这似乎是操作系统特有的问题。我在这里发现了一个类似的问题,我在

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

尝试:

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

输入密码,以root
gem install-jekyll的身份重试。这似乎是操作系统特有的问题。我在这里发现了一个类似的问题,我在这里找到的答案帮助解决了这个问题:

我遇到了相同的错误消息


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

苹果增加了系统完整性保护(SIP)以提高安全性。这意味着Jekyll在使用默认Ruby安装时受到影响。
 sudo su

为了解决这个问题,其他用户一直在安装自制版本。JekyllV3.0也有可能开始使用这个版本

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

    sudo nvram boot-args="rootless=0"; sudo reboot
    reboot
    sudo gem install jekyll -V
    cd into directory
    jekyll serve --watch
    
  • 安装自制软件(说明位于)

  • 修改
    $PATH
    以使用自制软件:

    xcode-select --install
    
  • 修改GUI应用程序的
    $PATH

    export PATH=/usr/local/bin:$PATH
    
  • 安装最新的Ruby:

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

    brew install ruby
    

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

您可以尝试以下方法:

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


这就是。

新的El Capitan版本的OS X有一项新技术,名为,它不允许用户(即使使用
sudo
)写入
/usr/bin
文件夹。这会中断安装过程。你可以,但我更喜欢保持它,因为它可以防止坏东西

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

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

不要使用自制软件安装Jekyll,自制软件的安全性未知:

以下是如何在没有自制软件的情况下安装它:使用香草OSX el帽:

更新1: 唯一的缺点是每次使用sudo时都必须输入密码,这没什么大不了的。我宁愿这样做,也不愿安装更多的依赖项。无论如何,您应该在github上托管您的Jekyll配置,这样您就根本不需要处理命令行。以下是我关于如何使用github设置Jekyll的文章:

更新2:
从那时起,我制作了一个30秒的视频教程,介绍如何在github上设置jekyll博客:

如果无法使用,您可以尝试Cloud9

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

  • 在Cloud9()上创建一个免费帐户
  • 创建一个空项目(Ubuntu)并执行以下步骤:
  • 在命令行中键入:gem install jekyll
  • 在根目录中创建一个空的_config.yml文件
  • 在根目录中创建index.md文件
  • 在命令行中键入:jekyllserve--host$IP--port$port--baseurl“”
  • 您的网站现在正在Cloud9上“本地”运行
  • index.md文件的内容:

    sudo brew install ruby
    

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

    我在
    sudo su
    上得到错误
    sh:prompt\u git:command not found
    这可能与错误的路径变量有关吗?似乎返回了相同的错误!我猜OSX 10.11不支持?我不认为它与OXS版本有任何关系。你能试着重新安装Xcode CLI工具吗?另外,在这里尝试类似的方法,这也需要重新安装:好的答案解释并提供代码。考虑更新你的答案,包括解释这个代码是如何工作的以及为什么它是最好的选择。禁用JEKYLL的SIP可能有点过分。一般来说,你不需要SUDO来为我工作,这也适用于!D+1表示SIP链路@祝福的答案是我真正的秘诀:
    sudogem安装-n/usr/local/bin/jekyll
    感谢你的建议,让我尝试安装最新版本的Ruby来使用jekyll,以前使用稍微旧一点的Ruby对我不起作用,现在它可以工作了!非常感谢!
    ---
    title: Home
    ---
    
    Hello world!