如何在权限错误时安装gem或更新RubyGems

639

我试图使用gem install mygem安装一个gem或者使用gem update --system更新RubyGems,但是出现了以下错误:

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

有人有解决这个问题的想法吗?

6
这是我的解决方案: https://dev59.com/1VsX5IYBdhLWcg3wPdU7#34071869 - LanceP
80
sudo chown -R $USER /Library/Ruby/Gems/ 这句话的意思是将 "/Library/Ruby/Gems/" 目录下所有的文件和子目录的拥有者改为当前用户。sudo 是一个命令,用于以超级管理员权限运行该命令后面的操作。chown 命令用于修改文件或目录的拥有者和所属组。-R 表示递归地修改该目录下所有文件和子目录的拥有者。$USER 是一个环境变量,表示当前用户的用户名。 - vaskort
1
我使用的是zsh shell,出现了~/.zshrc路径问题。我在文件末尾加入了以下这行代码,问题得到了解决: export PATH="$HOME/.rbenv/shims:$PATH" - rosnk
32个回答

-6

我使用了这个并且有效。

$ sudo chown myuser /var/lib/gems


请参考其他答案中关于使用 sudo 的注释。 - the Tin Man

-20
错误的原因是因为您在终端上没有以root用户身份登录。
如果您已经在终端中启用了Root用户,请键入相应指令。
$ su

如果您没有root用户,您需要按照以下步骤启用它:

  1. 从苹果菜单中选择“系统偏好设置”。
  2. 从“查看”菜单中选择“用户与群组”。
  3. 点击锁定并验证管理员帐户。
  4. 点击“登录选项…”。
  5. 在右下角点击“编辑…”或“加入…”按钮。
  6. 点击“打开目录实用程序…”按钮。
  7. 在目录实用程序窗口中点击锁定。
  8. 输入管理员帐户名称和密码,然后点击“确定”。
  9. 从“编辑”菜单中选择“启用Root用户”。
  10. 在“密码”和“验证”字段中输入要使用的root密码,然后点击“确定”。

更多信息请参见http://support.apple.com/kb/ht1528

至少对我来说,在卡了几个小时之后,这个方法是有效的。


为什么要点踩?请问你们能否写下原因呢? - Mohammad Arif
9
以 root 身份安装 gem 是一个不好的想法。https://dev59.com/AXI95IYBdhLWcg3w2h96 - spuder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接