我正在尝试安装Jekyll。运行后,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
我可以看到在运行时安装了Jekyll,gem list
因此感到非常困惑:
*** 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)
过去,我的用户路径存在很多问题,所以我想知道此错误是否与该问题有关?
这是输出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_profile”:
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而不会出现权限问题。请参阅“单用户安装”中的安装到本地RVM沙箱的说明。
因为您的RVM中有RVM ~/.bash_profile
,但是它没有显示在您的Gem环境列表中,所以我怀疑您未遵循正确安装RVM的说明,或者您没有使用过所有重要的命令:
rvm use 2.0.0 --default
配置默认的Ruby。
对于大多数用户而言,“单用户安装”是必经之路。如果您必须使用sudo
该配置,那么您做错了什么。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句