我正试图安装杰基尔.运行gem install jekyll次后,我出现以下错误:

ERROR:  While executing gem ... (Errno::EACCES)
    Permission denied - /usr/local/lib/ruby/gems/2.0.0/gems/jekyll-1.0.3/CONTRIBUTING.md

当我运行gem list时,我可以看到Jekyll已安装,所以我完全困惑:

*** LOCAL GEMS ***

bigdecimal (1.2.0)
classifier (1.3.3)
colorator (0.1)
commander (4.1.3)
directory_watcher (1.4.1)
fast-stemmer (1.0.2)
highline (1.6.19)
io-console (0.4.2)
jekyll (1.0.3)
json (1.7.7)
kramdown (1.0.2)
liquid (2.5.0)
maruku (0.6.1)
minitest (4.3.2)
posix-spawn (0.3.6)
psych (2.0.0)
pygments.rb (0.5.1)
rake (0.9.6)
rdoc (4.0.0)
rubygems-update (2.0.3)
safe_yaml (0.7.1)
syntax (1.0.0)
test-unit (2.0.0.0)
yajl-ruby (1.1.0)

过go 我的用户路径有很多问题,所以我想知道这个错误是否与此有关?

以下是gem env的输出:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.3
  - RUBY VERSION: 2.0.0 (2013-02-24 patchlevel 0) [x86_64-darwin12.3.0]
  - INSTALLATION DIRECTORY: /usr/local/Cellar/ruby/2.0.0-p0/lib/ruby/gems/2.0.0
  - RUBY EXECUTABLE: /usr/local/Cellar/ruby/2.0.0-p0/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/Cellar/ruby/2.0.0-p0/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-12
  - GEM PATHS:
     - /usr/local/Cellar/ruby/2.0.0-p0/lib/ruby/gems/2.0.0
     - /Users/me/.gem/ruby/2.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/

这是我的".bash_"档案:

export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
PATH=$PATH:above/path/to/gems

source ~/.rvm/scripts/rvm

谁能帮我安装Jekyll,或者至少通过这个权限错误吗?

推荐答案

你的Ruby安装在/usr/local/Cellar/ruby/...中.

这是一个受限制的路径,只能在使用提升权限时写入,可以以root用户身份运行,也可以使用sudo.我不建议您以root身份运行,因为您不了解路径和权限是如何工作的.您可以使用sudo gem install jekyll,它将临时提升您的权限,为您的命令提供写入该目录所需的权限.

然而,我建议你认真考虑不要这样做,而是使用你的RVM将Ruby安装到你自己的主目录中,在那里你可以自动安装Rubies和gems,而无需许可问题.请参阅"Single-User installations"中有关安装到本地RVM沙箱的说明.

因为您的~/.bash_profile中有RVM,但它没有出现在您的Gem环境列表中,我怀疑您要么没有正确遵循安装RVM的说明,要么没有使用非常重要的命令:

rvm use 2.0.0 --default

配置默认的Ruby.

对于大多数用户来说,"单用户安装"是一条出路.如果你必须在配置中使用sudo,那你就做错了.

Ruby相关问答推荐

为什么 rdoc 注释似乎以两个井号/井号符号开头?

使用 Ruby 仅删除数组中的特定重复项

有没有更好的方法来加入剩余不变的子列表?

ruby中字符的整数值?

GET 和 POST 请求的相同 Rails 4 路由

如何用 Ruby 覆盖 shell 中的打印行?

如何在 Ruby 中使用 (n) 诅咒?

卸载所有 gem Ruby 2.0.0

如何使用 Ruby OptionParser 指定所需的switch (不是参数)?

Ruby中的常量或类变量?

什么是匹配不在行尾的字符串的正则表达式?

如何在数组中找到出现次数最多的项目

为什么 Ruby 无法验证 SSL 证书?

我安装了一个 gem,但 require 'gemname' 不起作用.为什么?

何时使用在 Ruby 中启动子进程的每种方法

不能在windows上安装thin

如何使用 Ruby 的 self 关键字

您的 Ruby 版本是 2.0.0,但您的 Gemfile 指定了 2.1.0

如何在 Ruby 中创建整数循环?

如何在文件夹及其所有子文件夹中搜索特定类型的文件