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

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

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

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


当前回答

你可以用这个

"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"

其他回答

对于windows 打开git bash并尝试

NODE_ENV=生产节点app.js

如果有人像我一样来这里试图找到错误的解决方案:

'env' is not recognized as an internal or external command

我得到这个的原因是我正在将一个angular解决方案从mac开发机器迁移到windows 10桌面。我是这样解决的。

运行NPM install——save-dev cross-env 到我的包里去。Json文件,并改变所有脚本引用从env <whatever>交叉env <whatever>

然后我的命令像:npm run start:some_random_environment_var现在在Windows 10上运行良好。

这样做一定会有用吗

"scripts": {
    "start": "SET NODE_ENV=production && node server"
}

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

npm install -g win-node-env

在它之后,一切都像Linux。

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

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

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

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