Windows下运行bundle install出现Bundler::PermissionError的解决方法
当非管理员权限启动命令行运行bundle install时,会触发以下错误:
Bundler::PermissionError There was an error while trying to write to
It is likely that you need to grant write permissions for that path
不用管理员权限的解决办法如下:
使用本地bundle安装路径
直接运行命令:bundle install --path vendor/bundle
这个命令会把所有依赖gem安装到当前项目目录下的vendor/bundle文件夹,该目录属于当前用户,自带读写权限,完全不需要系统级权限。后续运行bundle相关命令时,会自动识别这个本地路径的gem。配置Bundler默认使用本地路径
执行:bundle config set path 'vendor/bundle'
配置后,所有后续项目都会默认将gem安装到本地vendor目录,不用每次手动指定--path参数。修复特定路径权限
如果错误提示指向某个系统路径,可手动给当前用户添加该路径的读写权限:右键目标文件夹 → 属性 → 安全 → 编辑 → 添加当前用户账户 → 勾选“读取和写入”权限 → 确定。这个操作可能需要临时权限,但比全程用管理员权限安全得多。用Ruby版本管理器隔离环境
在Windows上安装rbenv或chruby这类版本管理器,它们会把Ruby环境和相关gem都安装到用户目录下的专属文件夹(比如~/.rbenv),完全脱离系统级路径权限限制。安装好对应Ruby版本后,再运行bundle install就不会有权限问题了。
内容的提问来源于stack exchange,提问作者baywet

