Vue3.X项目中包依赖的解析与安装出现问题如何解决?
这里写目录标题
- 写在前面
- npm 是什么?
- NPM官网
- 问题开始与解决思路记录
- 执行安装过程会发生什么
- 后续执行npm install 安装又会发生什么?
- 附录
- 查看实际安装版本
- 对比lock文件与package.json
- 检查所有过时包
写在前面
npm 是什么?
npm 为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。
npm 由三个独立的部分组成:
- 网站 是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。
- 注册表 是一个巨大的数据库,保存了每个包(package)的信息。
- CLI 通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。
NPM官网
直达链接
问题开始与解决思路记录
执行npm install 安装依赖出现自研包报错,分析思路与解决方案
本次问题出现原因是安装过程中,涉及公司自研文档编辑器依赖,需要使用私有registry方式进行安装依赖
npm i torchv-editor@latest --registry http://192.168.xxx.xxx:xxxx
执行安装过程会发生什么
通过下面的安装日志信息,可以发现:
- npm会自动解析torchv-editor及其所有嵌套依赖(约1174个包)
- 这些依赖会被完整安装到node_modules目录
- 同时生成/更新package-lock.json文件,锁定依赖树结构
后续执行npm install 安装又会发生什么?
当运行不带参数的npm install 时候,会出现:
- npm会检查package.json + package-lock.json
- 发现所有依赖的精确版本已经安装(通过lock文件校验)
- 直接跳过下载阶段,显示"up to date"
附录
查看实际安装版本
npm list --depth=0
对比lock文件与package.json
git diff package-lock.json
检查所有过时包
npm outdated