Windows系统运行NODE_ENV=development命令未被识别如何解决?
问题根本原因
Windows系统原生的CMD、PowerShell命令行不支持Unix系Shell的「变量名=值 命令」前置环境变量语法,安装win-node-env后仍然报错通常是全局npm包路径未加入系统PATH,或是命令行未重启导致配置未生效。
修复方案
- 先排查
win-node-env生效问题:执行npm root -g查看全局npm包安装路径,将输出的路径添加到系统环境变量PATH中,完全关闭所有已打开的命令行窗口后重新启动,再重试原命令即可。 - 如果你使用CMD运行命令,用原生语法拆分书写即可:
要合并为单行的话用set NODE_ENV=development set x=23 nodemon.cmd server.js&连接:set NODE_ENV=development & set x=23 & nodemon.cmd server.js - 如果你使用PowerShell运行命令,用原生语法书写即可:
$env:NODE_ENV="development" $env:x=23 nodemon.cmd server.js - 跨系统通用兼容方案:安装
cross-env作为项目开发依赖,npm install cross-env --save-dev,之后将命令修改为cross-env NODE_ENV=development x=23 nodemon.cmd server.js即可,该方案无需区分操作系统,适合多人协作项目使用。
注意:使用
set命令设置变量时,等号两侧不要加空格,否则空格会被识别为变量名或变量值的一部分,导致配置不生效。
内容的提问来源于stack exchange,提问作者Mohammad Ali Shuvo
相关产品推荐
相关产品推荐

