我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。
“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。
这意味着什么?我该如何解决这个问题?
我使用Windows,也尝试设置NODE_ENV=development,但运气不好。
我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。
“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。
这意味着什么?我该如何解决这个问题?
我使用Windows,也尝试设置NODE_ENV=development,但运气不好。
当前回答
你可以使用这个语法(使用"cross-env") ->
cross-env NODE_ENV=prod node dist/main
其他回答
我为此写了一个模块:win-node-env。
它创建了一个NODE_ENV。cmd命令,设置NODE_ENV环境变量,并使用该命令的其余部分及其参数生成一个子进程。
只需安装它(全局),并运行你的npm脚本命令,它应该会自动使它们工作。
npm install -g 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,如上所示。
试试这个
NODE_ENV =开发节点server.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:prod" : "SET NODE_ENV=production & nodemon app.js",
"start:dev" : "SET NODE_ENV=development & nodemon app.js"
},