【问题标题】:Rails 6: Cannot install pg on mac m1Rails 6:无法在 mac m1 上安装 pg
【发布时间】:2021-10-28 06:33:45
【问题描述】:

我尝试在我的 mac m1 上安装 gem pg,但收到此错误:

ERROR: While executing gem ... (Gem::FilePermissionError)

You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

我使用自制软件安装了 postgresql,并且可以使用命令 psql 连接到数据库。这意味着我在我的机器上安装了 postgres,但 gem pg 不能在 rails 上运行。

【问题讨论】:

    标签: ruby-on-rails ruby postgresql


    【解决方案1】:

    最简单的解决方案是使用sudo 并强制授予权限,但这可能不是最佳解决方案。

    https://www.moncefbelyamani.com/the-definitive-guide-to-installing-ruby-gems-on-a-mac/

    看起来不错的文章,你应该选择https://www.moncefbelyamani.com/the-definitive-guide-to-installing-ruby-gems-on-a-mac/#ruby-manager

    【讨论】:

      【解决方案2】:

      如果你用 Homebrew 安装了 PostgreSQL,那意味着你对相关目录有写权限,只要你执行命令(不管是 rails 相关的)或纯 Ruby),具有与安装 PostgreSQL 相同的权限。所以,如果你使用sudo 安装了PostgreSQL,那么你应该使用sudo 运行sudo gem install pg 或其他任何东西。或者,如果您已将帐户切换为控制 Homebrew 软件的管理员,那么您必须在运行 gem install pg 时执行相同操作(请注意,如果您将后一种情况与安装在用户的目录)。

      就我个人而言,我使用 rbenv (Github) 作为 Ruby 的版本控制软件(或者,一个流行的替代品 rvm 也应该可以正常工作),而 Homebrew 安装仅限于我的环境中的管理员。使用rbenv,所有 Ruby 库都在每个用户的控制之下,因为所有东西(除了 PostgreSQL 等外部软件)都安装在用户的主目录下。如果您使用rbenv(或rvm),则不会发生这种权限冲突(这确实是我过去无数次使用Rails 时所经历的痛苦!)。

      【讨论】:

        猜你喜欢
        • 2021-09-20
        • 1970-01-01
        • 2014-08-27
        • 2021-09-15
        • 2016-03-27
        • 2022-01-09
        • 1970-01-01
        • 2021-11-01
        • 1970-01-01
        相关资源
        最近更新 更多