R Studio Server中Build面板执行devtools::check权限拒绝,如何改检查目录?
解决RStudio Server Build面板检查时的权限与目录问题
问题背景
在控制台执行devtools::check()可正常运行,但通过Build面板执行时失败,报错:cannot create file '/mnt/my_package.tar.gz', reason 'Permission denied'。尝试在Build选项中添加--output=/mnt/code/tmo --path=/mnt/code/tmo未解决,使用R Studio Server 1.4.1106版本,需修改检查操作的执行目录。
解决方案
1. 通过RStudio GUI修改检查目录
- 打开
Tools->Project Options(项目级)或Tools->Global Options(全局级) - 切换到
Build标签页,找到Package build options区域 - 找到
Check directory(旧版本可能显示为「检查工作目录」),手动填入有权限的目录(如/mnt/code/tmo) - 点击
Apply保存后,重新执行Build面板的检查操作
2. 修改项目配置文件指定目录
- 打开项目根目录下的
[项目名].Rproj文件(文本编辑器打开即可) - 添加或修改以下配置行:
BuildCheckDirectory: /mnt/code/tmo - 保存文件后重启RStudio会话,再尝试Build检查
3. 自定义Build检查命令
- 在
Tools->Configure Build Tools中,找到Check command输入框 - 将默认命令替换为:
devtools::check(check_dir = "/mnt/code/tmo") - 保存配置后,Build面板执行检查时会直接使用指定目录
4. 权限兜底排查
若仍报错,确认目标目录权限:
- 控制台执行
whoami查看RStudio当前运行用户 - 执行
ls -ld /mnt/code/tmo检查目录权限,确保当前用户有读写权限 - 若权限不足,执行
chmod -R 755 /mnt/code/tmo(或根据用户组调整为775)赋予读写权限
内容的提问来源于stack exchange,提问作者Julio
相关产品推荐
相关产品推荐

