我试图使用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.

有人知道怎么解决这个问题吗?


当前回答

我需要做一个rbenv rehash,这样它就会指向我的本地Gem库。

看起来您已经让您的gem管理器指向系统库,因此,与其混淆权限,不如为您的管理器执行等效的“rehash”以获得指向本地的内容。

其他回答

在MacOS Mojave上成功测试:

卸载所有旧的ruby版本(假设你有2.00和2.3.0): $ RVM卸载2.0.0 $ RVM卸载2.3.0 安装全新的ruby版本: 安装ruby 设置默认别名为您的版本: $ RVM别名创建默认ruby 重新启动您的系统,因为这是您的计算机加载最新安装的新ruby版本的最安全的方式。

完成以上步骤后,您可以成功地运行任何gem命令。

你为什么不这样做:

sudo gem update --system

你可以使用:gem install cocoapods——pre——user

安装gem或更新RubyGems失败,出现权限错误,然后输入此命令

sudo gem install cocoapods

这对我很管用。另外,如果你之前以根用户的身份安装了gems,它会通过将所有权交还给你来解决这个问题(更安全)。

sudo chown -R `whoami` /Library/Ruby/Gems