問題:每次寫新項目,無論是從頭新建還是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的這兩個版本兼容還好,如果不兼容就坑大發了,這是無解的問題。