React项目启动报错:‘PORT’未被识别,GitBash下如何配置端口?
解决GitBash中React启动脚本PORT报错问题
核心原因
你遇到的'PORT' is not recognized错误,是因为npm默认用Windows的cmd.exe执行脚本,而PORT=6008是类Unix shell(比如GitBash)的环境变量设置语法,cmd无法识别。
解决方法
1. 让npm用GitBash执行脚本
在GitBash中执行以下命令,全局配置npm使用bash作为脚本执行shell:
npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"
注意:路径要对应你的Git实际安装路径,默认安装的话上述路径有效
配置完成后,直接在GitBash里运行npm start即可,原scripts中的写法就能正常生效。
2. 跨平台兼容方案(推荐)
安装cross-env包,它能在不同系统中统一环境变量的设置方式:
npm install cross-env --save-dev
修改package.json的scripts配置:
"scripts": { "start": "cross-env PORT=6008 env-cmd -f ./src/Env/.env.development react-scripts start", "start:uat": "cross-env PORT=6008 env-cmd -f ./src/Env/.env.uat react-scripts start", "start:prod": "cross-env PORT=6008 env-cmd -f ./src/Env/.env.prod react-scripts start", "build":... }
注意:修正了原路径中的scr拼写错误,改为正确的src
3. 临时设置方式(单次生效)
在GitBash中先手动设置PORT环境变量,再启动项目:
export PORT=6008 npm start
4. 更简洁的配置方式
如果使用的是较新版本的react-scripts,可以直接在.env文件中设置PORT:
比如在.env.development里添加一行:
PORT=6008
然后修改scripts去掉PORT设置:
"scripts": { "start": "env-cmd -f ./src/Env/.env.development react-scripts start", ... }
内容的提问来源于stack exchange,提问作者SPa
相关产品推荐
相关产品推荐

