- 发出npm install命令
- npm向registry查询模块压缩包的下载地址
- 下载压缩包并存放到本地npm缓存路径(~/.npm目录)
- 解压到当前项目node_modules目录
如果你没联网,npm将使用本地缓存。重新npm install时出错,就是所谓的缓存腐败问题。
从执行过程可以看出,其实模块在本地保存了两份:~/.npm目录
下的压缩包和node_modules目录
下的解压代码。但npm install时,只会检查node_modules目录,如果它里面没有相关模块,即使~/.npm内有模块压缩包,npm依然会从远程仓库下载新压缩包。