Rust编译报错:自定义构建命令执行失败,输出路径无写入权限
解决Cargo编译时“output path is not a writable directory”报错
编译num-traits v0.2.15和num-integer v0.1.45时触发的这个报错,核心是Cargo的输出目录(target)或者Cargo注册表目录没有写入权限,试试这些办法解决:
- 检查并修复target目录权限
找到项目里的target文件夹,右键→属性→安全标签,确认当前登录用户拥有「写入」权限。如果没有,点击「编辑」添加当前用户,勾选写入权限后保存。 - 删除target目录后重新编译
在项目目录的PowerShell里执行:
有时候目录缓存损坏或者权限残留会导致这类问题,删了重建就能解决。Remove-Item -Recurse -Force .\target cargo run - 检查Cargo注册表目录权限
报错里提到的C:\Users\alexa\.cargo\registry目录,同样检查当前用户的写入权限,确保autocfg库能正常写入临时文件。 - 用管理员权限运行PowerShell
右键PowerShell选择「以管理员身份运行」,进入项目目录后再执行cargo run,临时提升权限验证是否是权限不足导致。 - 更换项目存储路径
如果当前项目在OneDrive同步目录、系统盘保护目录这类有特殊权限的位置,把整个项目文件夹移到普通目录(比如C:\Projects\shift_scheduling_code),再重新编译。
内容的提问来源于stack exchange,提问作者alex l
相关产品推荐
相关产品推荐

