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

其他回答

你为什么不这样做:

sudo gem update --system

错误:当执行gem…(Gem:: FilePermissionError) 你没有写/Library/Ruby/Gems/2.6.0的权限

(2022方案) 这里已经添加了问题的详细原因

问题概述->该问题与ruby访问有关,M1 MAC自带ruby。我们没有被允许为我们的目的使用它。相反,我们安装了一个单独的ruby实例,并将其用于我们的目的。

下面的步骤帮助我解决了这个问题,希望这可能会有所帮助

我们不需要用rvn或chruby安装ruby。 我的解决方案使用自制程序来安装ruby。

打开终端 使用自制程序安装ruby

安装ruby

[用于重新安装]brew重装ruby

使用下面的命令检查ruby的路径 这红宝石 它应该安装在下面的路径 /usr/bin/ruby 将ruby路径更改为用户路径

检查您的系统使用了哪个shell

echo $0

-zsh

对于zshrc

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >>~/.zshrc . bin:$PATH

在bash

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >>~/~/.bashrc . bin:$PATH

退出并重新启动终端 用步骤5改变路径后 再次检查ruby的路径(执行步骤3 -请确保路径如下所示)

/usr/local/opt/ruby/bin/ruby

[如果您不退出并启动终端,将显示步骤4路径]

这一步可能并不适用于所有人,如果你安装了正确的Cocoapods版本,可以跳过第10和11步

检查安装的pod的版本

豆荚,版本

使用下面的命令卸载特定版本的Cocoapods

如果安装的版本是1.11.0

卸载cocoapods 1.11.0

安装特定版本的Cocoapods 安装cocoapods 1.11.0 将路径更改为Project目录cd {Project目录的路径} 在项目目录中安装捆绑程序

包安装

执行pod安装

正在安装

cd /图书馆/ Ruby /珠宝/ 2.0.0

开放。

右击获取信息

点击锁定

地方的密码

让一切都能读能写。

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

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

为我工作:

sudo gem uninstall cocoapods

sudo gem install cocoapods