【问题标题】:How to fix gem permission error after installing rbenv?安装rbenv后如何修复gem权限错误?
【发布时间】:2017-03-06 20:06:50
【问题描述】:

我正在尝试安装 Sinatra,但一直出现此错误:You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory

感谢“Installing gem or updating RubyGems fails with permissions error”我安装了 rbenv。我遵循guide 并设置了我的全局 ruby​​ 版本等,但是当我尝试安装 gems 时,我仍然遇到同样的错误。当我运行gem environment 时,RubyGems 的安装目录仍然是系统 Ruby 目录。

我是否应该更新 GEM_PATH? 由于 rbenv 指南没有提及任何相关内容,所以我认为我的 rbenv 安装仍然存在问题。

有人可以帮我解决这个问题吗?

【问题讨论】:

  • 使用sudo是否有效?
  • 我猜你必须为 Gems 目录使用 chmod
  • 不要盲目使用chmod。查看链接问题的选定答案。
  • 运行 gem env 并将输出复制然后粘贴到您的问题中,并为便于阅读而适当地格式化。不要使用“已编辑”或“已更新”标签,因为我们可以在修改问题或答案时看到发生了什么变化。

标签: ruby shell rubygems


【解决方案1】:

您没有向我们展示您正在使用的命令,但闻起来就像您正在使用 sudo 安装 Sinatra。不要使用 rbenv 或 RVM 管理的红宝石来做这件事。

就像在the linked question 中一样,使用 rbenv 或 RVM 允许您在用户空间中拥有一个或多个 Ruby,您可以在其中随意修改它们。这意味着您不需要使用sudo,只需使用gem install ...

您可能遇到的另一个问题是您将全局 Ruby 设置为 system,这是 Apple 为他们使用而安装的版本,并且您不想修改它,除非您了解它为什么存在以及什么他们正在使用它。 如果您必须更改它,那么sudo 将是合适的,但是,使用 rbenv 或 RVM 在您的用户空间中管理红宝石,真的没有理由这样做。

请勿使用chmod 更改供应商安装的gem 的所有权;同样,这是供 Apple 使用的,因此请尽情享受当地的红宝石,而不要管 Apple。

【讨论】:

  • 我没有使用 chmod 或 sudo 根据我链接到的问题中的说明。重新启动终端后,一切正常。
【解决方案2】:

在这种情况下,我退出了终端,然后重新打开,一切正常。如果您遇到困难并确保您已正确遵循说明,这可能是一件好事。我阅读的材料中没有明确提到它,但我认为总的来说是一种很好的做法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-05
    • 2021-01-26
    • 2015-10-13
    • 1970-01-01
    • 2013-11-03
    • 2011-07-05
    • 2014-03-11
    相关资源
    最近更新 更多