我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。
“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。
这意味着什么?我该如何解决这个问题?
我使用Windows,也尝试设置NODE_ENV=development,但运气不好。
我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。
“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。
这意味着什么?我该如何解决这个问题?
我使用Windows,也尝试设置NODE_ENV=development,但运气不好。
当前回答
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
其他回答
对于那些使用Git Bash并在npm运行<脚本>时遇到问题的人,
只需设置npm使用Git Bash运行脚本
“C:\\Program Files\\git\\bin\\bash.exe”(根据安装情况更改路径)
然后npm将使用Git Bash运行脚本,因此像NODE_ENV=这样的用法将正常工作。
听起来你的错误来自于试图运行这样的程序(在Linux中可以工作)
NODE_ENV=development node foo.js
在Windows系统中是相同的
SET NODE_ENV=development
node foo.js
在同一个命令shell中运行。你提到set NODE_ENV不工作,但不清楚如何/何时执行它。
我为此写了一个模块:win-node-env。
它创建了一个NODE_ENV。cmd命令,设置NODE_ENV环境变量,并使用该命令的其余部分及其参数生成一个子进程。
只需安装它(全局),并运行你的npm脚本命令,它应该会自动使它们工作。
npm install -g win-node-env
在windows平台上
($env:NODE_ENV="environmentName") - (node file.js)
关闭终端(Ctrl + C),然后运行文件
节点file.js
这样做一定会有用吗
"scripts": {
"start": "SET NODE_ENV=production && node server"
}