我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。
“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。
这意味着什么?我该如何解决这个问题?
我使用Windows,也尝试设置NODE_ENV=development,但运气不好。
我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。
“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。
这意味着什么?我该如何解决这个问题?
我使用Windows,也尝试设置NODE_ENV=development,但运气不好。
当前回答
对于Windows使用&在命令之间也。就像,
"scripts": {
"start": "SET NODE_ENV=development & nodemon app/app.js",
}
其他回答
这样做一定会有用吗
"scripts": {
"start": "SET NODE_ENV=production && node server"
}
你可以用这个
"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是一件非常痛苦的事情。试图找出合适的Windows翻译并维护两套脚本是不可能的。
在Windows上配置npm使用bash要容易得多,并且你的脚本将按原样运行。
只需运行npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"。确保bash可执行文件的路径对您的计算机是正确的。您可能需要启动终端的一个新实例,以便更改生效。
下面的截图说明了好处。
npm犯错!在最初尝试运行脚本时。 为Windows使用修改的脚本运行,但不显示返回消息。 在更新npm配置以使用bash之后,脚本运行并返回适当的消息。
npm install -S cross-env
为我工作
听起来你的错误来自于试图运行这样的程序(在Linux中可以工作)
NODE_ENV=development node foo.js
在Windows系统中是相同的
SET NODE_ENV=development
node foo.js
在同一个命令shell中运行。你提到set NODE_ENV不工作,但不清楚如何/何时执行它。