electron-builder打包NSIS报access denied权限错误如何解决
Windows下electron-builder打包出现access denied错误的解决方法
我使用electron-builder打包应用时出现access denied错误,网传该问题可能和防火墙相关,以下是对应的排查解决方法整理。
错误信息
C:\Users\dell\AppData\Local\electron-builder\Cache\nsis\566152007 C:\Users\dell\AppData\Local\electron-builder\Cache\nsis\nsis-3.0.4.1: Access is denied. ⨯ ENOENT: no such file or directory, copyfile 'C:\Users\dell\AppData\Local\electron-builder\Cache\nsis\nsis-3.0.4.1\elevate.exe' -> 'C:\Users\dell\Desktop\opcoin\download\app\dist\win-unpacked\resources\elevate.exe' failedTask=build stackTrace=Error: ENOENT: no such file or directory, copyfile 'C:\Users\dell\AppData\Local\electron-builder\Cache\nsis\nsis-3.0.4.1\elevate.exe' -> 'C:\Users\dell\Desktop\opcoin\download\app\dist\win-unpacked\resources\elevate.exe' at processImmediate (internal/timers.js:461:21) From previous event: at NsisTarget.buildInstaller (C:\Users\dell\Desktop\opcoin\download\app\node_modules\app-builder-lib\src\targets\nsis\NsisTarget.ts:223:29) at NsisTarget.finishBuild (C:\Users\dell\Desktop\opcoin\download\app\node_modules\app-builder-lib\src\targets\nsis\NsisTarget.ts:129:9) at async Promise.all (index 1) at AsyncTaskManager.awaitTasks (C:\Users\dell\Desktop\opcoin\download\app\node_modules\builder-util\src\asyncTaskManager.ts:65:25) at Packager.doBuild (C:\Users\dell\Desktop\opcoin\download\app\node_modules\app-builder-lib\src\packager.ts:453:5) at Object.executeFinally (C:\Users\dell\Desktop\opcoin\download\app\node_modules\builder-util\src\promise.ts:12:14) at Packager._build (C:\Users\dell\Desktop\opcoin\download\app\node_modules\app-builder-lib\src\packager.ts:376:31) at Packager.build (C:\Users\dell\Desktop\opcoin\download\app\node_modules\app-builder-lib\src\packager.ts:337:12) at Object.executeFinally (C:\Users\dell\Desktop\opcoin\download\app\node_modules\builder-util\src\promise.ts:12:14) npm ERR! code ELIFECYCLE
package.json配置
{ "name": "opcoin", "version": "1.0.0", "description": "OpCoin Grabber", "main": "app.js", "scripts": { "start": "electron .", "dist": "electron-builder", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "electron": "^14.0.1", "electron-builder": "^22.11.7" }, "build": { "appId": "com.aryaanish.opcoin", "productName": "Op Coin Grabber", "target": "NSIS", "nsis": { "allowToChangeInstallationDirectory": true, "oneClick": false }, "win": { "icon": "build/icon.ico" } } }
临时解决方案
重启电脑后问题可暂时解决。
规范排查解决步骤
- 清除electron-builder缓存:删除
C:\Users\你的用户名\AppData\Local\electron-builder\Cache整个目录,重新执行打包命令,工具会自动重新下载缺失的NSIS相关依赖文件 - 以管理员权限运行终端:右键点击你使用的CMD/PowerShell/VS Code终端,选择「以管理员身份运行」后再执行打包命令,避免普通用户权限不足导致文件读写失败
- 检查杀毒软件/防火墙拦截:打开Windows安全中心,在「病毒和威胁防护」的「保护历史记录」中查看是否有对elevate.exe、NSIS相关文件的拦截记录,若有则将electron-builder缓存目录和项目目录加入白名单
- 清理项目编译产物:删除项目根目录下的
dist文件夹和node_modules/.cache目录后重新打包 - 升级electron-builder版本:当前使用的22.11.7属于较旧版本,可执行
npm install electron-builder@latest --save-dev升级到最新稳定版,修复官方已知的权限相关问题
内容的提问来源于stack exchange,提问作者Arya Anish
相关产品推荐
相关产品推荐

