当前位置: 首页 > article >正文

npm install报错常用解题思路

最近刚接手一个“新”项目,让我很无语。明明是去年起的项目,但是它所用的部分技术栈非常旧,我启动项目,控制台一堆warning报错,然后项目结构也很让我不适应,很多地方都可以用文件夹包一下来方便定位。哎,让我头大!

事情的起源来自于一次依赖安装。因为业务需求,我安装一个第三方库,但是它不支持React16,然后我想着干脆就升到17吧!反正也没什么新特性应该没问题,不用改太多东西。结果终端报错,查看一下果然是那些旧依赖导致的,要是全部将他们升级到对应17的版本工作量太大!更何况有些库根本不维护了,直接选择性无视吧。。。

我的思路如下:

思路1-查看支持的版本

1. 去官网或GitHub上查看项目所用的框架版本所支持的react版本。假设我们的项目用的是Ant Design Pro 5.0版本,要求React17.0.2版本。(npm5及以上版本,--save是默认行为,不需要显式添加)

npm install react@17.0.2 react-dom@17.0.2

1.1 我们从package.json里查看版本。

1.2 我们从node_modules中的antd的package.json查看实际我们所安装的版本!


思路2-熟练运用万能的--legacy-peer-deps--force

2. 由于项目依赖太旧了,于是解析依赖关系时出现冲突,终端报错!

有两个方法:

2.1 旧版本的依赖项无法与新版本的npm兼容,这就需要我们后缀--legacy-peer-deps。(推荐)

  • --legacy-peer-deps 选项允许npm在处理peer dependencies时采用旧版本的方式,以确保与旧版本的依赖项保持兼容性。
npm install react@17.0.2 react-dom@17.0.2 --legacy-peer-deps

2.2 遇事不决后缀--force。

  • --force 选项强制 npm 执行某个操作,即使有潜在的问题或依赖冲突。
  • 使用 --force 可能会导致安装不兼容的依赖,因此谨慎使用。
npm install react@17.0.2 react-dom@17.0.2 --force

思路3-刚接手新项目的报错解决方法

3. 正常情况下我们刚接手到一个新项目,如果npm install报错,有以下常用方法:

3.1 我们直接降node版本就行了!

  • 推荐使用nvm管理node版本,nrm管理npm源!

3.2 通过其他包管理器解决,如cnpm、pnpm、yarn等等。

3.3 或许应该看看自己的npm源~然后切换成最新的淘宝镜像。

npm config get registry

http://www.kler.cn/a/152599.html

相关文章:

  • 震坤行:数字驱动食品农副行业采购的新兴趋势与实践
  • NoSql非关系型数据库
  • 【HTTP协议】简述HTTP协议的概念和特点
  • php爬虫实现把目标页面变成自己的网站页面
  • 大数据-之LibrA数据库系统告警处理(ALM-37017 数据库连接数超限)
  • 自动驾驶学习笔记(十一)——高精地图
  • 唯创知音WTN6系列语音芯片:高音频采样率与精细音量控制赋能广泛应用
  • 数据结构---堆
  • 勒索解密后oracle无法启动故障处理----惜分飞
  • 考试复习
  • Himall商城OrderApplication
  • 【多线程】-- 08 线程状态观测、线程优先级、守护线程
  • 【隐私计算】VOLE (Vector Oblivious Linear Evaluation)学习笔记
  • 长沙数字孪生技术推进制造业升级,工业物联网可视化应用加速
  • 水面倒影可视化渲染方法
  • 说说过量 tcp pure ack 的利弊
  • Leetcode 2661. 找出叠涂元素
  • 学习笔记三十六:通过Ingress-nginx实现灰度发布
  • 深度学习(一):Pytorch之YOLOv8目标检测
  • 【conda】容易遗忘的命令使用总结