搭建基於Nexus 3的npm私服

創建Repository

Nexus Repository Manager 3 可以用於多種類型的包管理。 因工作需要,需要配置基於Nexus 3的npm包管理。

Nexus默認賬號: admin/admin123

圖片

  1. 選擇配置頁面

  2. 選擇左側的Repositories

  3. 點擊Create repository功能

圖片

這樣就會看到Nexus 3支持的repository類型。對於Java開發者maven2的應該就很熟悉了。

仔細觀察會發現,每一種repository都包含三種類型可以創建, group, hosted,proxy。下面分別對每種做說明:

  • proxy

根據proxy名字,就可以想象的出這種類型的repository是用來坐代理的。比如我們在建Maven私服,需要和中央庫連通,此時就需要用proxy來創建repository。見Nexus模式的maven-central庫。

  • hosted

這種repository可以簡單的理解爲用於私有的,內部的repository。我們工作中開發的一些工具,組件庫等不方便放到中央庫,但是卻又需要在公司內部共享,就需要創建hosted類型的repository,用於發佈公司內部的組件。見maven-releases, maven-snapshots。

  • group

最後來說說group類型。其實這種類型是一種虛擬的repository,用於將proxy和hosted類型的repository組合成一個,方便使用者使用。如maven-public, 在裏面既包含了maven-central,同時也包含了maven-releases, maven-snapshots,這樣,不管是網上中央庫的jar包,還是我們自己發佈的jar都可以通過maven-public來獲取到。

結合maven repository配置的經驗,對於npm repository也採用同樣的套路配置。

  1. 配置proxy庫

圖片
在proxy類型的配置界面,發現裏面的Name、Remote storage是必填的。Name可以隨便填。Remote storage需要填類似maven中央庫的地址,這裏npm的選擇淘寶的私服地址https://registry.npm.taobao.org


  1. 配置hosted庫

    圖片

hosted庫配置比較簡單,只需要填寫name就可以了。

  1. 配置Group庫

圖片

在group配置中,name同樣是必須的。此外還多了一個members的配置,將左側的npm-hosted,npm-proxy添加到右側的members中,這樣就可以通過group同時訪問npm-hosted,npm-proxy中的資源了。

發佈到npm私服

圖片

首先,需要配置權限,將npm Bearer Token Realm啓用。

配置本機的npm登陸

npm login --registry=http://localhost:8888/repository/npm-hosted/

然後輸入用戶名密碼,郵箱,成功後會在.npmrc文件中生成一條記錄

//localhost:8888/repository/npm-hosted/:_authToken=NpmToken.16b06a38-cae5-32ca-8a5f-2310ef16e156

在確保項目有 package.json 前提下,執行:

npm publish  --registry=http://localhost:8888/repository/npm-hosted/

即可在私服中查詢到已發的npm組件

圖片


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章