npm依賴管理 冗餘,依賴樹

2021-09-08 14:12:03 字數 1730 閱讀 4263

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

也可以使用**:檢視

檢視本地某個專案的依賴樹:

進入本地專案下,然後使用命令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

NPM如何管理依賴包版本?

這是conardli的第 69 篇原創,謝謝你的支援!nodejs成功離不開npm優秀的依賴管理系統。在介紹整個依賴系統之前,必須要了解npm如何管理依賴包的版本,本文將介紹npm包的版本發布規範以 何管理各種依賴包的版本以及一些關於包版本的最佳實踐。重新上傳 取消你可以執行npm view pac...

公升級npm依賴項

我們如何安全地公升級專案中的npm依賴項?依賴包版本之前的滑稽 和 字元是什麼意思?我們如何在專案中的npm依賴項上進行主要版本公升級?我們將在這篇文章中找到。npm軟體包版本控制遵循語義版本控制。因此,軟體包版本包含3個部分 major.minor.patch 乙個版本通常 在其前面 例如 16....

專案中npm依賴問題

最近開發遇到乙個npm依賴導致的問題,報錯如下。經過錯誤定位,發現原因是專案中用了vue不同版本語法的寫法,如下所示 重點關注的是被 包圍的寫法。0 target blank 之前的開發人員用了兩種方法指定插槽 slot 的作用域,檢視了下官方的更新記錄 in 2.5,the scope attri...