You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1设备下Rails 6安装pg gem触发权限报错问题咨询

Mac M1 安装pg gem权限错误解决方案

报错信息

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

问题原因

该报错和PostgreSQL本身无关,核心原因是你当前使用的是macOS预装的系统Ruby,系统对/Library/Ruby路径做了写入权限保护,禁止普通用户直接安装gem到系统内置路径。

解决方案

方案1:使用Ruby版本管理工具(推荐,适配长期Rails开发场景)

该方案可以完全规避系统Ruby的权限限制,同时支持多版本Ruby环境切换。

  • 执行brew命令安装rbenv和ruby-build:
    brew install rbenv ruby-build
  • 配置rbenv到shell环境(以zsh为例,使用bash则替换为~/.bash_profile):
    echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc
  • 重启终端后,安装适配Rails 6的Ruby版本,示例安装2.7.8:
    rbenv install 2.7.8
  • 设置该版本为全局默认Ruby:
    rbenv global 2.7.8
  • 验证Ruby路径,输出不为/usr/bin/ruby即为配置生效:
    which ruby
  • 正常安装pg gem即可:
    gem install pg
    若为Rails项目,可直接在项目目录执行bundle install

方案2:自定义gem安装路径(适合临时使用场景)

无需安装额外版本管理工具,仅将gem安装路径修改为用户目录下的可写路径。

  • 执行命令写入配置到shell环境(以zsh为例,使用bash则替换为~/.bash_profile):
    echo 'export GEM_HOME="$HOME/.gem"' >> ~/.zshrc
    echo 'export PATH="$HOME/.gem/bin:$PATH"' >> ~/.zshrc
    
  • 重启终端后执行安装即可:
    gem install pg

额外说明

如果配置完成后安装pg时出现编译类报错,可指定Homebrew安装的pg配置路径重试:
gem install pg -- --with-pg-config=/opt/homebrew/bin/pg_config

内容的提问来源于stack exchange,提问作者Mouhamadou Diouf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 16:18:03