我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。
“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。
这意味着什么?我该如何解决这个问题?
我使用Windows,也尝试设置NODE_ENV=development,但运气不好。
我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。
“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。
这意味着什么?我该如何解决这个问题?
我使用Windows,也尝试设置NODE_ENV=development,但运气不好。
当前回答
在“包”中设置脚本“test”。Json "文件:
例如:
在Windows中; “test”:“SET NODE_ENV=test & jest”,
在Linux / Mac; “test”:“NODE_ENV=test jest”,
其他回答
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
如果你正在使用“Yarn Packager”,你可以通过以下命令来解决这个问题:
yarn global add win-node-env
这对我来说很管用,因为这很容易解决。我克隆了一个存储库,它是在WINDOWS中开发的,但我使用MACOS。
如果你使用的是windows,使用SET作为前缀:
"scripts": {
"dev": "SET NODE_ENV=development && nodemon index.js",
},
但是如果你使用的是MacOS,移除SET关键字并使用:
"scripts": {
"dev": "NODE_ENV=development && nodemon index.js",
},
简单地说
如果你使用的是windows,在运行脚本之前使用SET前缀,并从MacOS(可能也是LINUX)中删除SET,如上所示。
你可以使用这个语法(使用"cross-env") ->
cross-env NODE_ENV=prod node dist/main
set NODE_ENV=**production&** nodemon server.js &必须连接,因为如果在生产和&之间留出空间,那么 NODE_ENV将在最后包含空格,就像'production ' 所以只需删除production和&之间的空格,并在&之后添加空格