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...