npm run prod执行失败,但直接运行NODE_ENV命令正常的问题
问题解决:Git Bash中
npm run prod无法运行但直接执行命令正常 问题原因
Git Bash下npm执行脚本时,默认调用Windows的cmd解释器,而NODE_ENV=production是类Unix系统的环境变量设置语法,cmd无法识别,导致脚本执行失败;但直接在Git Bash终端执行命令时,是由bash解释器处理,所以能正常运行。
解决方法
方法一:使用跨平台环境变量工具(推荐)
- 安装
cross-env依赖,它能兼容Windows和类Unix系统的环境变量设置:
npm install cross-env --save-dev
- 修改package.json的scripts配置,用
cross-env包裹环境变量:
"scripts": { "dev": "nodemon server.js", "prod": "cross-env NODE_ENV=production nodemon server.js", "debug": "ndb server.js" }
- 重新执行
npm run prod即可正常运行
方法二:强制npm用Git Bash执行脚本
无需安装额外包,直接配置npm使用bash作为脚本执行器:
npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"
配置完成后再运行npm run prod,脚本会由Git Bash解释,就能识别环境变量设置语法。
内容的提问来源于stack exchange,提问作者user17799348
相关产品推荐
相关产品推荐

