npm下載本地包,維護本地包


  之前項目中一些包需要更改,然后放到本地項目中維護。因為某些網絡限制,也有些包無法install下來,本地代碼庫會維護包。

  以下測試基於mac  npm 6.9.0版本

  正常情況下在項目 package.json 所在的目錄(一般也是項目根目錄)運行npm install xxxx  命令之后,會從遠程或者代理地址下載xxxx包到node_modules,然后在package.json生成對應的包名和版本

 

  如果想要依賴本地自己開發的一個包或者更改別人的包放到本地維護需要怎么處理呢?

 

  如果跟項目package.json平級的目錄有一個文件夾 test12121212121 ,在test12121212121里面用 npm init -y 初始化了這個文件夾, 這個文件夾就會有一個package.json文件。

 

  在根目錄 npm install test12121212121  就會將這個文件夾下載到 node_modules下面,根目錄下的 package.json 會生成對應的文件路徑,如下圖:

 

  紅色框對應的本地維護的包,藍色框根目錄下的package.json

  

 

  注意:此時npm install 對應的文件夾名,install的是文件夾名稱,install包名會從遠程尋找,如果本地包名和文件夾名不一樣,對應的package.json顯示如下:

  sdddddd 對應的 包名稱,test12121212121 對應的 文件夾名稱, 運行的命令是 npm install test12121212121

  

 

 

  有些場景我們本地會維護很多包但是不希望都創建一個文件夾,希望放到統一的文件夾里面,比如 根目錄新建一個lib文件夾,這個時候如果想要下載本地包,需要手動將依賴更改成對應的路徑,運行npm i命令便可以

  如下圖所示:

  lib下有個testa文件夾,包名稱是cccccccc,可以在根目錄的 package.json手動指定下載這個包,包名 對應的文件路徑,寫法如下,運行npm install的時候會將對應的文件包下載至node_modules

  

 

  注意點:如果項目中存在了package-lock.json文件,那么你下載本地包的時候可能不會將包增加至node_modules文件夾下面,但是在package-lock.json中會存在記錄,如下圖的wewtwet包

  

 

 

  最后,本地維護的包需要滿足能夠上傳npm包管理庫的條件,本地的包如果需要能夠被下載一定要有package.json文件(快速的方法就是在本地包文件夾 npm init -y 快速生成),否則的話會找不到。 

 


免責聲明!

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



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