执行npm start时提示'ENVIRONMENT'未被识别,求帮助(认证快速入门)
解决npm start时'ENVIRONMENT'不被识别的错误
这个错误的核心原因是你的package.json里的start脚本用了类Unix系统的环境变量设置语法(比如ENVIRONMENT=development node server.js),但Windows默认的CMD命令提示符不支持这种写法,所以才会提示ENVIRONMENT不是可执行命令。
下面给你几个实用的解决办法:
用cross-env实现跨平台环境变量设置
这是最通用的方案,不管Windows还是Mac/Linux都能兼容:- 安装cross-env依赖:
npm install cross-env --save-dev - 修改
package.json里的start脚本,把原来的环境变量前缀换成cross-env:"scripts": { "start": "cross-env ENVIRONMENT=development node server.js" } - 重新运行
npm start就可以正常执行了。
- 安装cross-env依赖:
切换到PowerShell或WSL执行命令
如果你不想额外安装包,可以直接用Windows自带的PowerShell,或者WSL(适用于Win10及以上版本)来运行npm start,这两个环境支持类Unix的环境变量写法,不会出现识别错误。直接在Windows系统里设置全局环境变量
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」区域点击「新建」,变量名填
ENVIRONMENT,变量值填你需要的内容(比如development) - 重启你的命令提示符窗口,然后直接运行
npm start(脚本里可以去掉环境变量设置的部分,直接写node server.js)
内容的提问来源于stack exchange,提问作者jeffrey neils
相关产品推荐
相关产品推荐

