我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。

“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。

这意味着什么?我该如何解决这个问题?

我使用Windows,也尝试设置NODE_ENV=development,但运气不好。


当前回答

对于窗户,你可以这样做

"scripts": {
    "start:prod" : "SET NODE_ENV=production & nodemon app.js",
    "start:dev" : "SET NODE_ENV=development & nodemon app.js"
},

其他回答

我有同样的问题,在windows平台上,我只是运行下面的命令

npm install -g win-node-env

一切正常

听起来你的错误来自于试图运行这样的程序(在Linux中可以工作)

NODE_ENV=development node foo.js

在Windows系统中是相同的

SET NODE_ENV=development
node foo.js

在同一个命令shell中运行。你提到set NODE_ENV不工作,但不清楚如何/何时执行它。

"set NODE_ENV=production&& nodemon server.js"这个适合我。

你可以用这个

"scripts": {
   "start:dev": "nodemon server.js",
   "start:prod": "SET NODE_ENV=production & nodemon 
   server.js"
},

或者你可以安装这个

 npm install -g win-node-env

并且你可以运行NODE_ENV而不需要SET

 "start:prod": "NODE_ENV=production nodemon server.js"

我为此写了一个模块:win-node-env。

它创建了一个NODE_ENV。cmd命令,设置NODE_ENV环境变量,并使用该命令的其余部分及其参数生成一个子进程。

只需安装它(全局),并运行你的npm脚本命令,它应该会自动使它们工作。

npm install -g win-node-env