我试图使用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.
有人知道怎么解决这个问题吗?
当前回答
有两种路由:使用rbenv或RVM。下面是这两种食物的食谱。在此之前,您可能希望关闭gem本地文档的安装。
echo "gem: --no-ri --no-rdoc" >> ~/.gemrc
然后:
安装rbenv
安装ruby-build
运行:
rbenv install 2.1.2 (or whatever version you prefer)
rbenv global 2.1.2
gem update --system
这将在本地目录中安装gem系统的最新版本。这意味着您不会干扰系统配置。如果您正在问这个问题,那么您不应该破坏系统安全性,并且您将花费更长的时间来了解可能遇到的问题,而不仅仅是找到一种简单的方法来避免您开始时遇到的问题。了解更多关于操作系统和编程的知识后,再学习InfoSec。
使用'RVM'替代:
rvm install 2.1.2
rvm use 2.1.2
gem update --system
这有同样的结果,您最终得到的是一个本地Ruby和Gem系统,它不会影响系统版本。不需要Homebrew,也不需要覆盖系统库等等。
其他回答
sudo gem update --system
sudo gem install (gemfile)
sudo chown -R $USER /Library/Ruby/Gems/
错误:当执行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安装
正在安装
在使用下面我的原始答案之前,试试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