前端交流圈

npm install之后发生了什么——npm安装机制

2021-10-19  本文已影响0人  lulu_c

启动项目我们一般第一个执行的命令就是安装依赖包 npm install 。那么这个过程具体的执行流程是怎么样的呢?

安装流程

流程图

1.npm install执行后,会检查并获取npm配置,优先级为

项目级别的.npmrc文件 > 用户级别的.npmrc文件 > 全局的.npmrc文件 > npm内置的.npmrc文件

查看配置命令npm config ls -l

2.然后检查项目中是否有package-lock.json文件。

最后生成package-lock.json文件。

构建依赖树时,不管是直接依赖还是子依赖,都会按照扁平化的原则,优先将其放置在node_modules根目录中(最新的npm规范),在这个过程中,如果遇到相同的模块,会检查已放置在依赖树中的模块是否符合新模块的版本范围,如果符合,则跳过,不符合,则在当前模块的node_modules下放置新模块

npm安装依赖时,会下载到缓存当中,然后解压到项目的node_modules中。
再次安装依赖的时候,会根据package-lock.json中存储的 integrity、version、name 信息生成一个唯一的 key,然后拿着key去目录中查找对应的缓存记录,如果有缓存资源,就会找到tar包的hash值,根据 hash 再去找缓存的 tar 包,并把对应的二进制文件解压到相应的项目 node_modules 下面,省去了网络下载资源的开销。

// 获取缓存位置
npm config get cache
// C:\Users\DB\AppData\Roaming\npm-cache

// 清除缓存
npm cache clean --force

另外_cacache 文件夹中不包含全局安装的包,所以想清除存在问题的包为全局安装包时,需用 npm uninstall -g <package>解决

参考资料:https://blog.csdn.net/h03580/article/details/116021091?spm=1001.2014.3001.5501

上一篇下一篇

猜你喜欢

热点阅读