Windows环境React项目执行npm start提示PORT命令未识别如何解决
问题原因
- 核心报错来自
PORT=3006 react-scripts start的启动脚本写法:这是Linux/Mac系统下设置环境变量的语法,Windows系统的PowerShell/命令提示符不支持这种写法,系统识别不了PORT命令才会抛出错误。 - 次要错误是误输入了
mpm start,属于拼写错误,正确命令为npm start。
解决方案
你可以任选以下任意一种方案解决问题:
方案1:直接修改package.json适配Windows系统
找到项目根目录下的package.json文件,找到scripts字段里的start配置:
"scripts": { "start": "PORT=3006 react-scripts start" }
修改为Windows兼容的写法:
"scripts": { "start": "set PORT=3006 && react-scripts start" }
修改保存后重新执行npm start即可正常在3006端口启动项目。
方案2:跨平台兼容写法(推荐,适合多端协作项目)
先执行命令安装跨平台环境变量工具:npm install cross-env --save-dev
安装完成后修改package.json的start配置:
"scripts": { "start": "cross-env PORT=3006 react-scripts start" }
该写法在Windows、Mac、Linux系统下都可以正常运行,不需要针对不同系统调整配置。
方案3:通过.env文件配置端口
在项目根目录新建名为.env的文件,写入一行配置:PORT=3006
然后把package.json里的start配置改回默认的"start": "react-scripts start"即可,react-scripts启动时会自动读取.env文件里的端口配置,自动适配所有系统。
内容的提问来源于stack exchange,提问作者Manjunathan Sheshadri
相关产品推荐
相关产品推荐

