Windows受AppLocker限制无法创建NX工作区,如何修改中间安装脚本执行路径
NX安装AppLocker拦截问题解决方法
方案1:修改npm临时文件目录(推荐)
npx执行时生成的随机临时路径默认读取npm的tmp配置,你可以将该路径修改为已经获得AppLocker许可的固定目录,操作步骤如下:
- 先创建固定的临时工作目录,例如
C:\npm-approved-tmp,提前将该目录加入AppLocker白名单,允许未签名脚本运行 - 执行安装命令前先配置npm临时目录:
- Windows CMD环境执行:
set npm_config_tmp=C:\npm-approved-tmp - PowerShell环境执行:
$env:npm_config_tmp="C:\npm-approved-tmp"
- Windows CMD环境执行:
- 配置完成后正常执行
npx create-nx-workspace@latest即可,所有中间生成的脚本都会存放在你指定的放行目录下,不会触发随机路径的拦截规则
如果需要永久生效,可执行npm config set tmp C:\npm-approved-tmp全局配置npm的临时文件存储路径。
方案2:本地下载安装包后手动执行
如果修改临时目录仍然无法解决问题,可以绕过npx的临时目录生成逻辑,直接在许可目录下安装后执行:
- 在已放行的目录下打开终端,执行
npm install create-nx-workspace@latest将安装包下载到本地 - 执行本地安装包的启动脚本:
node .\node_modules\create-nx-workspace\bin\index.js即可正常启动NX工作区初始化流程
补充注意项
- 如果你所在环境同时配置了PowerShell执行策略限制,可执行
Set-ExecutionPolicy Bypass -Scope Process临时放开当前会话的执行权限,该配置不会修改系统全局策略,关闭终端后自动失效 - 操作前确认你使用的账号对指定的放行目录有完整的读写、执行权限
内容的提问来源于stack exchange,提问作者Dirk Lammers
相关产品推荐
相关产品推荐

