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

切换ImageMagick版本后bundle install因json权限报错求助

解决bundle install时json 1.8.6权限错误的方案

你遇到的核心问题是bundle试图将json gem安装到项目的vendor/bundle目录时权限不足——尽管你已经用sudo把gem装到了rbenv的系统gem目录,但bundle默认可能在使用项目本地的bundle路径,导致重复安装时触发权限问题。下面是几个可行的解决步骤:

1. 修复项目vendor/bundle目录的权限

首先检查项目里vendor/bundle的权限归属:

ls -ld /Users/***/projects/***/vendor/bundle

如果这个目录的所有者不是当前用户,会导致无法修改文件权限。执行以下命令修改权限:

sudo chown -R $(whoami):staff /Users/***/projects/***/vendor/bundle

或者干脆删除这个目录,让bundle重新生成:

rm -rf vendor/bundle

2. 让bundle使用系统级gem目录(避免重复安装)

既然你已经通过sudo gem install json -v '1.8.6'把gem装到了rbenv的系统gem目录,可以让bundle直接使用这些已安装的gem,不需要再往项目本地安装:

bundle install --system

这个命令会让bundle跳过项目本地的vendor/bundle,直接使用rbenv管理的gem库,这样就不会再触发json gem的本地安装权限问题。

如果以后想默认使用系统gem,也可以修改bundle的本地配置:

bundle config set --local path ''

3. 修复rbenv目录的权限(避免后续sudo安装)

长期来看,尽量不要用sudo安装gem,否则容易出现权限混乱。执行以下命令确保rbenv的所有目录都归当前用户所有:

sudo chown -R $(whoami):staff ~/.rbenv

之后再安装gem就不需要加sudo了,直接运行:

gem install json -v '1.8.6'

验证解决方案

完成上述步骤后,再重新运行:

bundle install

应该就能正常完成依赖安装了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:52:36