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

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


当前回答

sudo gem update --system
sudo gem install (gemfile)

其他回答

尝试添加——user-install而不是使用sudo:

gem install mygem --user-install

对我来说,问题是由于使用rbenv,忘记全局设置正确的版本。

所以我必须用rbenv global xxx来设置它

在我的情况下,我安装了2.0.0-p247,所以我必须发出命令:

rbenv global 2.0.0-p247
rbenv rehash

然后一切都运转正常。

这将以一种干净的方式修复MacOS Mojave和Catalina的问题:

brew install ruby

然后将GEM_HOME设置为您的用户目录。终端:

Bash: echo '#安装Ruby Gems到~/ Gems ' >> ~/.bashrc echo 'export GEM_HOME=$HOME/gems' >> ~/.bashrc echo 'export PATH=$HOME/gems/bin:$PATH' >> ~/.bashrc . txt 源~ / . bashrc 如果在Zsh上: echo '#安装Ruby Gems到~/ Gems ' >> ~/.zshrc echo 'export GEM_HOME=$HOME/gems' >> ~/.zshrc echo 'export PATH=$HOME/gems/bin:$PATH' >> ~/.zshrc . txt 源~ / . zshrc

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

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

我找到了这个无苏多尔宝石的指南:

Brew install rbenv ruby-build Sudo gem update—system 向.bashrc添加导出: export RBENV_ROOT="$(brew -prefix rbenv)" export GEM_HOME="$(brew -prefix)/opt/gems" export GEM_PATH="$(brew -prefix)/opt/gems" 最后将这个添加到~/.gemrc中: 宝石:- n / usr /地方/ bin Gem更新——system