Nexus 私有化npm倉庫


一 Nexus的安裝
docker提供了Nexus鏡像,可以通過鏡像啟動docker,也可以去github下載Nexus自行搭建。

這里使用的docker快速搭建服務

1 執行命令拉取nexus (可能需要FQ)

docker pull liumiaocn/nexus

2 啟動nexus

docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name nexus liumiaocn/nexus

3 輸入url 登錄

localhost:8081

默認賬號:admin/admin23

使用方法和發布流程和上面一致

二 npm包代理使用

1 創建內存空間

點擊create blob store

 

type選擇file,name輸入內存地址,名字默認作為path的一部分,輸入完點擊create blob store完成創建
 

 

2 創建私有庫、代理庫、組

點擊create repsitory

 

npm相關可選類型有三個

hosted(私有倉庫):用於發布個人開發的npm組件
proxy(代理倉庫):可以代理npm和淘寶鏡像
group(組合倉庫):對外公開的倉庫,集合了hosted和proxy,用戶代理配置此地址即可。

正常使用情況下三個倉庫都需要創建,除非單獨使用某一功能。

 

hosted倉庫創建

內存空間選擇創建的內存空間,默認使用default空間,盡量使用npm單獨空間與maven分離

hosted要選擇allow redeploy,否則npm包不能推送到私有倉庫

 

proxy倉庫創建

proxy填npm的鏡像地址,常用的有http://registry.npmjs.orghttps://registry.npmmirror.com(推薦)、https://registry.npm.taobao.org等。通過proxy倉庫下載的包會緩存起來,再使用會去緩存中下載。

 

創建group倉庫

使用前面創建的store,group里面選中上面創建的hosted倉庫和proxy倉庫。

 

修改配置

選中npm Bearer Token Realm

 

3 使用倉庫

查看並復制私有倉庫地址

 

在本地設置npm鏡像地址

npm config set registry=group倉庫地址

或者直接設置代理倉庫

npm config set registry=proxy倉庫地址

查看鏡像地址

npm config get registry

注:如果設置了鏡像地址,查看發現與設置的不一致,檢查項目中根目錄下.npmrc文件是否設置了registry。

 

4 查看proxy倉庫緩存

點擊browse,在右側列表點擊proxy所在的group或者直接點擊proxy

  

如果緩存成功會有記錄,再次安裝同樣npm包的時候優先走proxy倉庫中的緩存,如果緩存不存在會去配置的鏡像地址下載。

 

 

三 私有倉庫發布

私有倉庫npm包的發布和開源npm的流程一致

1 准備要發布的包

name注意不要發生沖突,repository設置為私有倉庫地址。

npm包實際是一個存檔文件,即一個目錄直接打包為.zip或tar.gz格式的文件,安裝后解壓還原為目錄。完全符合CommonJS規范的包目錄應該包含如下這些文件。

package.json : 包描述文件。

bin: 用於存放可執行二進制文件的目錄。

lib:用於存放javascript代碼的目錄。

doc:用於存放文檔的目錄。

test: 用於存放單元測試用例的代碼。

 

 

2 發布包

登錄之前確認npm目前鏡像地址是否是私有化地址,如果不是,用npm config set registry= 設置鏡像地址

npm login 輸入Nexus的用戶名和密碼,郵箱輸入自己郵箱即可

npm publish發布倉庫

發布成功之后在Nexus查看包,在search=>npm 中。如果發布失敗,可嘗試將npm鏡像改成hosted倉庫

npm config set registry=hoseted倉庫地址

設置之后重新執行npm login 登錄。

 

 

發布成功之后即可在工程中安裝

npm install 包的名字

 


免責聲明!

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



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