为啥每次都要npm install
问题:每次写新项目,无论是从头新建还是clone现有,都要执行一次npm install,为什么没有一个像maven、gradle那种依赖管理的工具?弄个项目都整一堆的node_module,不能全局共享,并且node_module下面还有node_module,层层叠下去。
npm install的原理
npm是node自有配套的包管理工具,解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
允许用户从NPM服务器下载别人编写的第三方包到本地使用。
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用
找到了一篇很好的博文npm install 原理分析 (qq.com)
(其实看完这个就有有一个比较感性的认知了)
为什么不做成全局
搜集了些资料,有很多说法
依赖管理最难解决的问题就是版本问题。库A依赖库B,库C也依赖库B,但是库A跟库C所依赖的库B不是同一版本,如果库B的这两个版本兼容还好,如果不兼容就坑大发了,这是无解的问题。