Node.js 16环境React项目执行npm run stage报错的解决求助
解决方法
方法1:简化脚本命令(推荐)
在package.json的scripts中,直接去掉./node_modules/.bin/前缀即可。npm运行脚本时会自动在项目的node_modules/.bin目录下查找对应命令,这种写法同时兼容Windows和类Unix系统:
"scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject", "loc": "env-cmd -f ./envs/.env-local react-scripts start", "stage": "env-cmd -f ./envs/.env-staging react-scripts start" }
修改后重新执行npm run stage即可正常运行。
方法2:使用Windows风格路径(仅适用于Windows环境)
如果一定要保留全路径写法,将类Unix风格的路径改为Windows兼容的格式:
"stage": ".\\node_modules\\.bin\\env-cmd -f .\\envs\\.env-staging react-scripts start"
注意这种写法不具备跨平台性,仅适合Windows命令提示符(CMD)环境。
报错原因
你使用的Windows命令提示符(CMD)不识别类Unix系统的相对路径写法./,而npm脚本本身会自动处理依赖命令的路径查找,因此直接写命令名是最稳妥的跨平台解决方案。
内容的提问来源于stack exchange,提问作者Saswat
相关产品推荐
相关产品推荐

