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

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


当前回答

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

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

其他回答

我的问题是,我之前从zshell切换到bash,没有登录:

/bin/bash --login

虽然我已经安装了rvm,但它无法切换到我新安装的rvm ruby版本,并且仍然试图使用默认的mac安装的ruby二进制。因此我的困惑(用户错误!!)和持续的权限问题…

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

sudo gem install cocoapods

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

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

我对我的Mac进行了格式化,许多建议的解决方案对我不起作用。 对我来说有用的是这些正确顺序的命令:

安装自制程序: /usr/bin/ruby -e "$(curl - ssl https://raw.githubusercontent.com/Homebrew/install/master/install)" 安装Ruby: 编译安装ruby 安装指南: 须藤宝石安装指南针

你需要修正你的路径。

要确定此修复是否有效,请运行以下命令:

which gem

这应该会输出一个你没有权限的目录:

/usr/bin/gem

要修复此问题,请执行以下步骤:

Determine the path you need to copy to your profile: rbenv init - The first line of the output is the line you need to copy over to your profile: export PATH="/Users/justin/.rbenv/shims:${PATH}" #path that needs to be copied source "/usr/local/Cellar/rbenv/0.4.0/libexec/../completions/rbenv.zsh" rbenv rehash 2>/dev/null rbenv() { typeset command command="$1" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval `rbenv "sh-$command" "$@"`;; *) command rbenv "$command" "$@";; esac } Copy the path to your profile and save it. Reload your profile (source ~/.zshenv for me). Run rbenv rehash.

现在当你运行哪个gem时,你应该得到一个你有权限的本地路径:

/Users/justin/.rbenv/shims/gem