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

Rails 7.0.3.1创建PostgreSQL应用时pg gem安装权限错误求助

解决Rails 7.0.3.1安装pg gem时的权限错误

核心错误信息

Bundler::DirectoryRemovalError: Could not delete previous installation of /var/lib/gems/2.7.0/gems/pg-1.4.2.
底层错误:Errno::EACCES: Permission denied @ dir_s_rmdir - /var/lib/gems/2.7.0/gems/pg-1.4.2/sample

解决步骤

1. 手动清理旧gem目录

直接用sudo权限删除无法移除的pg gem文件夹:

sudo rm -rf /var/lib/gems/2.7.0/gems/pg-1.4.2

清理完成后重新执行:

bundle install

2. 临时用sudo执行bundle安装

如果手动清理后仍有问题,可临时用sudo权限运行bundle:

sudo bundle install

⚠️ 注意:此方式安装的gem归root用户所有,后续开发中可能持续出现权限问题,仅作为临时应急方案。

3. 切换到用户级Ruby环境(推荐长期方案)

系统级Ruby的gem目录权限受限,建议用Ruby版本管理工具(如rbenv或rvm)在用户目录下管理Ruby和gem:

  • 安装rbenv/rvm后,设置项目所需的Ruby版本(2.7.x)
  • 重新运行bundle install,此时gem会安装在用户专属目录,彻底避免系统权限问题

4. 检查系统依赖

确保安装pg gem所需的系统库已安装(以Ubuntu为例):

sudo apt-get install libpq-dev

内容的提问来源于stack exchange,提问作者Hammad Abdullah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 06:06:05