无法将“ NODE_ENV”识别为内部或外部命令,可操作命令或批处理文件

我正在尝试为Node.js应用程序设置环境。但我每次都会收到此错误。

无法将“ NODE_ENV”识别为内部或外部命令,可操作命令或批处理文件。

这是什么意思,我该如何解决?

我正在使用Windows,也尝试过set NODE_ENV=development但没有运气。

斯丁十三2020/03/23 21:44:25

对于Windows,请 打开git bash并尝试

NODE_ENV=production node app.js

十三2020/03/23 21:44:25

那里的大多数答案对我没有帮助。

帮助我的是 NODE_ENV=production&& nodemon app/app.js

注意空间。祝好运。

猪猪2020/03/23 21:44:25
npm install -S cross-env

为我工作

村村Pro2020/03/23 21:44:25

对于那些使用Git Bash并遇到问题的人npm run <script>

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

npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe" (根据您的安装更改路径)

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

2020/03/23 21:44:24

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

它创建一个NODE_ENV.cmd设置NODE_ENV环境变量,并使用其余命令及其arg生成一个子进程。

只需安装(全局),然后运行您的npm脚本命令,它将自动使它们工作。

npm install -g win-node-env
小卤蛋2020/03/23 21:44:24

使用win-node-env,要使用它,只需在您的cmdor power shell以下命令下运行git bash

npm install -g win-node-env

之后,一切都像Linux。

猴子村村2020/03/23 21:44:24
  1. npm install "cross-env" 模块。
  2. 将代码修改为cross-env NODE_ENV=development node foo.js然后就可以运行了npm run build
GilJim2020/03/23 21:44:24

对于Windows &,在命令之间也要使用。喜欢,

  "scripts": {
    "start": "SET NODE_ENV=development & nodemon app/app.js",
  }
十三2020/03/23 21:44:24

听起来您的错误来自尝试运行类似这样的东西(在Linux中有效)

NODE_ENV=development node foo.js

Windows中的等效项是

SET NODE_ENV=development
node foo.js

在同一命令外壳中运行。您提到set NODE_ENV不起作用,但不清楚如何/何时执行。