npm依賴管理:冗余,依賴樹


npm的依賴樹查詢:原理都是查詢文件夾node_modules的結構。比如mac的node_modules位置在/usr/local/lib下。具體項目的node_modules位置位於項目根目錄下。

1、查看npmjs上某個插件的依賴情況

2、查看某個項目的插件依賴情況

3、查看本地計算機上全局安裝的插件依賴情況

4、

 

查看npmjs網站上的包的依賴,如下

可以使用npm-remote-ls。全局安裝:

npm install -g npm-remote-ls

查看插件bower的依賴關系:

npm-remote-ls bower

也可以使用網站:http://npm.anvaka.com/#/view/2d/td-ui查看

 

查看本地某個項目的依賴樹:

進入本地項目下,然后使用命令npm ll ,只會打印本地項目安裝的依賴,不會打印未安裝的依賴,也不會打印全局安裝的依賴。也可以使用命令npm list/ls;  npm list --depth=1設置樹的深度。路徑顯式的是

 

 查看全局安裝的所有插件依賴樹情況:npm ls -g --depth=1 。全局的插件安裝默認目錄是:/usr/local/lib

 

 

 查看全局安裝的某個插件依賴情況:npm ls  -g --depth=1 。全局的插件安裝默認目錄是:/usr/local/lib

 

 

 關於依賴冗余:目前npm6是版本6.3.0

      有文章稱,當項目依賴一個插件的多個版本時,會全部引進進來,然后分布放在依賴它們的項目下的node_modules下面。如果多次依賴的版本相同時,則放在頂級的node_modules下面。

  npm3在安裝包時會采用扁平化處理,包以及包依賴的其他模塊將會以同層級的方式安裝在包使用者的node_modules下 ,如果版本有沖突,才會采用npm2的嵌套方式安裝在各個包下。

  在npm3下,peerDependencies下模塊不會自動安裝,需要模塊使用者在本地目錄手動安裝,如果沒安裝會發出警告

  peerDependencies的作用是表面某個插件必須依賴另一個插件的某個版本。

  npm3把所有依賴模塊路徑拍扁了(工程目錄下的node_modules出現了很多package.json中沒有聲明的模塊),解決了windows下路徑名過長的問題,更使得公共依賴被充分共享。但如果多個模塊依賴了同一個模塊的不同版本,后安裝的模塊,為了不和別人沖突,就只能將這個依賴安裝在自己的node_modules

http://cloudstone.xin/2016/10/23/npm-install%E9%97%AE%E9%A2%98%E4%B9%8B%E4%BE%9D%E8%B5%96%E5%86%97%E4%BD%99/

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM