运行cargo generate创建wasm模板报Access is denied(os error 5)如何解决
问题描述
执行命令拉取远程仓库创建wasm项目模板时触发权限报错:
cargo generate --git https://github.com/rustwasm/wasm-pack-template
报错信息:Access is denied. (os error 5)
解决方案
按优先级依次排查以下场景即可修复:
- 终端权限不足
命令执行过程中需要读写cargo缓存目录、当前工作目录、系统临时目录,普通用户身份权限不够时会直接抛出该错误。Windows系统下右键终端选择「以管理员身份运行」后重跑命令;macOS/Linux系统下在命令前加sudo前缀执行即可。如果不想使用高权限,可手动给当前用户分配以下目录的读写权限:- cargo缓存目录:Windows默认路径为
C:\Users\<当前用户名>\.cargo,类Unix系统默认路径为~/.cargo - 执行命令时所在的工作目录
- 系统临时目录:Windows默认路径为
C:\Users\<当前用户名>\AppData\Local\Temp,类Unix系统默认路径为/tmp
- cargo缓存目录:Windows默认路径为
- 安全软件拦截
部分杀毒、系统防护工具会将命令行拉取远程代码、写入本地文件的行为判定为风险操作主动拦截。临时关闭安全软件实时防护,或将cargo安装目录、项目存放目录加入软件信任白名单后重试即可。 - cargo-generate版本兼容问题
旧版本cargo-generate在部分Windows环境下存在路径解析bug,会尝试访问系统受保护路径触发权限错误。先执行cargo install cargo-generate --force升级到最新版本,再重新运行模板拉取命令。 - 目标路径冲突/被占用
如果当前执行路径下已经存在和待生成项目同名的文件夹,且该文件夹被编辑器、运行中的进程、资源管理器锁定占用,写入文件时也会报权限错误。关闭占用目录的相关程序,删除冲突的同名文件夹,或切换到其他空目录下重新执行命令即可。
内容的提问来源于stack exchange,提问作者Wiciu23
相关产品推荐
相关产品推荐

