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

搭建环境时遇NODE_ENV命令不识别错误,添加set后异常求助

解决Windows下NODE_ENV命令报错的问题

嘿,这个坑我太熟了!你遇到的是Windows和Mac/Linux这类类Unix系统环境变量设置语法不兼容的问题,我来给你掰扯清楚怎么解决:

为什么会报错?

Windows的cmd命令行不支持NODE_ENV=development这种直接赋值的写法——这是类Unix系统的专属语法。而你加了set之后控制台直接输出整行命令,是因为你没给set命令和后面的nodemon命令加分隔符,cmd把整句话当成一个字符串输出了,根本没执行后面的启动命令。

三种解决方案任你选

1. 直接在Windows cmd里运行的正确写法

给set命令和后续命令之间加上&&(表示前一个命令执行成功后再执行后面的),写法如下:

set NODE_ENV=development && nodemon -w src --exec "babel-node src --presets es2015,stage-0"

如果不管set命令是否成功都要执行后续命令,把&&换成&就行。

2. 在package.json的scripts里配置Windows专属写法

如果是在项目的package.json里配置启动脚本,要注意转义内部的双引号,写法如下:

"scripts": {
  "dev": "set NODE_ENV=development && nodemon -w src --exec \"babel-node src --presets es2015,stage-0\""
}

配置完之后直接运行npm run dev就可以了。

3. 跨平台通用方案(强烈推荐)

上面两种方法只能在Windows用,换个系统又要改,太麻烦。推荐用cross-env包统一跨平台的环境变量设置语法:

  • 第一步,安装cross-env(开发依赖):
    npm install cross-env --save-dev
    
  • 第二步,在package.json里配置统一的脚本:
    "scripts": {
      "dev": "cross-env NODE_ENV=development nodemon -w src --exec \"babel-node src --presets es2015,stage-0\""
    }
    

这样不管你是在Windows、Mac还是Linux上运行npm run dev,都不会再出现环境变量相关的报错,一步到位解决跨平台问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:58:43