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

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

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

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


当前回答

对于Windows使用&在命令之间也。就像,

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

其他回答

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

NODE_ENV=development node foo.js

在Windows系统中是相同的

SET NODE_ENV=development
node foo.js

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

使用win-node-env,使用它只需在cmd或power shell或git bash下运行以下命令:

npm install -g win-node-env

在它之后,一切都像Linux。

试试这个

NODE_ENV =开发节点server.js

对于那些使用Git Bash并在npm运行<脚本>时遇到问题的人,

只需设置npm使用Git Bash运行脚本

“C:\\Program Files\\git\\bin\\bash.exe”(根据安装情况更改路径)

然后npm将使用Git Bash运行脚本,因此像NODE_ENV=这样的用法将正常工作。

set NODE_ENV=production & nodemon app/app.js

将导致NODE_ENV在结尾包含一个空格:

process.env.NODE_ENV == 'production'; //false
process.env.NODE_ENV == 'production '; //true

正如这里的评论中提到的,用这个代替:

NODE_ENV=production&& nodemon app/app.js