我试图使用gem install mygem或使用gem update——system更新RubyGems安装一个gem,它失败了,错误如下:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
有人知道怎么解决这个问题吗?
我试图使用gem install mygem或使用gem update——system更新RubyGems安装一个gem,它失败了,错误如下:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
有人知道怎么解决这个问题吗?
当前回答
尝试添加——user-install而不是使用sudo:
gem install mygem --user-install
其他回答
您可以更改GEM_HOME。您还在您的主目录下有一个gem文件夹来检查它的使用
$ gem env
结果如下。不相关的部分省略。
...
- GEM PATHS:
- /Users/xxx/.gem/ruby/2.6.0
- /Library/Ruby/Gems/2.6.0
- /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0
...
你可以使用你的/Users/xxx/.gem/ruby/2.6.0文件夹。
vim ~/.bash_profile
添加以下行
export GEM_HOME=~/.gem/ruby/2.6.0/
之后你就可以使用了
source ~/.bash_profile
你为什么不这样做:
sudo gem update --system
检查你的Ruby版本是否正确。如果不是,那就改变它。
这对我来说很管用:
$ rbenv global 1.9.3-p547
$ gem update --system
我需要做一个rbenv rehash,这样它就会指向我的本地Gem库。
看起来您已经让您的gem管理器指向系统库,因此,与其混淆权限,不如为您的管理器执行等效的“rehash”以获得指向本地的内容。
这对我很管用。另外,如果你之前以根用户的身份安装了gems,它会通过将所有权交还给你来解决这个问题(更安全)。
sudo chown -R `whoami` /Library/Ruby/Gems