我试图使用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.
有人知道怎么解决这个问题吗?
我试图使用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.
有人知道怎么解决这个问题吗?
当前回答
给用户$whoami在这些文件夹中创建一些东西
sudo chown -R user /Library/Ruby/Gems/2.0.0
其他回答
你为什么不这样做:
sudo gem update --system
对我来说,问题是由于使用rbenv,忘记全局设置正确的版本。
所以我必须用rbenv global xxx来设置它
在我的情况下,我安装了2.0.0-p247,所以我必须发出命令:
rbenv global 2.0.0-p247
rbenv rehash
然后一切都运转正常。
错误:当执行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安装
正在安装
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的新途径。
你需要修正你的路径。
要确定此修复是否有效,请运行以下命令:
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