GitHub获取的含Recoil的React项目npm操作及启动失败求助
问题解决方案
1. 启动时PORT命令不识别的问题
这是因为项目启动命令用了Unix系统的环境变量设置语法,Windows的CMD/PowerShell不支持PORT=3006这种写法,给你几个解决办法:
修改package.json的启动命令
换成Windows兼容的写法:
用CMD的话,把scripts里的start改成:"start": "set PORT=3006 && react-scripts start"用PowerShell的话,改成:
"start": "$env:PORT=3006; react-scripts start"想跨平台通用的话,先装
cross-env依赖:npm install cross-env --save-dev再把start命令改成:
"scripts": { "start": "cross-env PORT=3006 react-scripts start" }临时设置环境变量再启动
Windows CMD里先执行:set PORT=3006再跑
npm start;PowerShell里则是:$env:PORT=3006 npm start
2. npm install后的漏洞问题
用--legacy-peer-deps安装后出现大量漏洞,是因为依赖包版本存在安全隐患或者依赖树里的旧包没更新,按下面步骤处理:
先更新依赖包
执行命令更新所有可升级的依赖:npm update之后再用
npm audit检查漏洞情况。自动修复可修复的漏洞
运行npm audit fix,npm会自动修复大部分能处理的漏洞:npm audit fix手动处理无法自动修复的漏洞
如果npm audit fix后还有残留漏洞,终端会给出具体的包和版本建议,你需要手动修改package.json里对应的依赖版本,换成安全版本后重新执行npm install。临时跳过审计(不推荐)
要是有些深层依赖的漏洞暂时没修复方案,且不影响项目运行,可以用npm install --legacy-peer-deps --no-audit跳过漏洞检查,或者在package.json里加"audit": false,但这只是权宜之计,优先修复更稳妥。
内容的提问来源于stack exchange,提问作者Theodore
相关产品推荐
相关产品推荐

