You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NPM自定义参数触发PowerShell错误,如何解决?

解决Windows下NPM脚本环境变量设置报错的问题

这个错误很常见——你用的PROJECT=my-lib npm run publish-local是**Linux/macOS Shell(Bash/Zsh等)**专属的语法,但Windows的CMD或PowerShell不支持这种直接在命令前前置环境变量的写法,所以才会把PROJECT=my-lib当成未知命令报错。

下面给你几个不同场景的解决方案:

方案1:针对Windows CMD(命令提示符)

在CMD里,需要用set命令先设置环境变量,再通过&&连接执行NPM脚本:

set PROJECT=my-lib && npm run publish-local

方案2:针对Windows PowerShell

PowerShell的环境变量语法和CMD不同,要这样写:

$env:PROJECT="my-lib"; npm run publish-local

方案3:跨平台通用方案(推荐)

如果需要你的脚本在Windows、Linux、macOS上都能正常运行,可以用cross-env工具统一环境变量的设置方式:

  1. 先安装cross-env到项目开发依赖:
npm install --save-dev cross-env
  1. 执行脚本时,用cross-env包裹环境变量设置部分,不管什么系统都能用统一写法:
npx cross-env PROJECT=my-lib npm run publish-local

或者你也可以修改package.json里的脚本,把环境变量处理逻辑内置进去,后续执行更简洁:

"publish-local": "cross-env PROJECT=$PROJECT ng build $PROJECT && cd dist/$PROJECT && npm publish --registry=http://my.local.npm.registry"

之后直接执行:

cross-env PROJECT=my-lib npm run publish-local

这样不管在哪个操作系统的终端里执行,都不会出现语法错误了。

内容的提问来源于stack exchange,提问作者Igino Boffa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:54:36