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

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


当前回答

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

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

其他回答

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

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

2021年方案(使用rvm):

如果您在终端中输入哪种ruby,并显示/usr/bin/ruby,您可以尝试此解决方案。

安装区 curl -L https://get.rvm.io | bash -s稳定 使用RVM安装ruby RVM安装ruby-3.0.0 使用您安装的ruby版本 RVM使用ruby-3.0.0 再次输入哪个ruby,这将显示/Users/mac_user_name/.rvm/ ruby /ruby-3.0.0/bin/ruby。 这是使用ruby的新途径。

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

/bin/bash --login

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

在使用下面我的原始答案之前,试试nathanwhy的答案。他推荐的——user-install应该可以达到同样的目的,而不必破坏.bash_profile或确定Ruby版本。


如果您不关心特定的ruby版本,您可以跳过繁重的ruby环境管理器选项,只需将这些行添加到~/.bash_profile:

export GEM_HOME="$HOME/.gem/ruby/2.0.0"
export GEM_PATH="$HOME/.gem/ruby/2.0.0"

路径是从gem env的原始输出中窃取的:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.14
  - RUBY VERSION: 2.0.0
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
  - RUBY EXECUTABLE: /System/Library/.../2.0/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-14
  - GEM PATHS:
     - /Library/Ruby/Gems/2.0.0
     - /Users/mylogin/.gem/ruby/2.0.0  #  <---- This line, right here. -----
     - /System/Library/.../usr/lib/ruby/gems/2.0.0
  ...

不需要进行任何操作,并且您可以使用已经安装好的Ruby,这是Apple提供的。

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