输入npm i 后 npm干了些什么

tech2023-01-12  114

npm 包更新机制

语义化版本1更新机制 ^1.2.3 版本兼容 会更新到1.2.3 到 2.0.0之间的版本,不包含2.0.0 ~1.2.3 大致相当于同一个版本 会更新到1.2.3 到1.3.0之间的版本,不包含1.3.0 1.2.3 确定版本 只会下载1.2.3版本

npm i输入后的包更新顺序

从项目package.lock.json中查看依赖版本的integrity属性,比对是否跟本地版本一致 如果一致,就跳过这个包的安装如果不一致走3参考package.json中包的版本,然后根据语义化版本更新机制,去下载合适的新版本更新package.lock.json配置如果依赖包的版本有更新,我们在新下载到的依赖包的package.json中会看到两个字段 from和id,from就标识我们项目文件中配置的包版本,id标识当前下载到的包版本语义化版本不会跟新到大版本,需要手动更新npm i xxx@2.0.0 或者 npm i xxx@latest 会更新到大版本,同时修改项目package.json中的依赖包版本项目中新安装到的依赖包版本,默认都会以^开头package.lock.json中会锁定项目依赖包中的依赖包的具体版本, 但是不会锁定项目中依赖包的依赖包的依赖包的。。。的具体版本 后半句会牵出一个问题: 就是npm是怎么解决在循环依赖中多个包依赖于同一个包的不同版本,下载哪个版本的问题?

https://editor.csdn.net/md/?articleId=106922681 ↩︎

最新回复(0)