我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。
“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。
这意味着什么?我该如何解决这个问题?
我使用Windows,也尝试设置NODE_ENV=development,但运气不好。
我试图为一个Node.js应用程序设置一个环境。但我每次都得到这个错误。
“NODE_ENV”不能被识别为内部或外部命令, 可操作的命令或批处理文件。
这意味着什么?我该如何解决这个问题?
我使用Windows,也尝试设置NODE_ENV=development,但运气不好。
当前回答
听起来你的错误来自于试图运行这样的程序(在Linux中可以工作)
NODE_ENV=development node foo.js
在Windows系统中是相同的
SET NODE_ENV=development
node foo.js
在同一个命令shell中运行。你提到set NODE_ENV不工作,但不清楚如何/何时执行它。
其他回答
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
如果有人像我一样来这里试图找到错误的解决方案:
'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": "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"
听起来你的错误来自于试图运行这样的程序(在Linux中可以工作)
NODE_ENV=development node foo.js
在Windows系统中是相同的
SET NODE_ENV=development
node foo.js
在同一个命令shell中运行。你提到set NODE_ENV不工作,但不清楚如何/何时执行它。