使用 Nexus3 Repository Manager 搭建 npm 私服

公司里一般都有自己的私服,用于管理封裝的工具插件等象泵,Nexus2主要是用于maven/gralde倉庫的統(tǒng)一管理歼争,Nexus3則添加了npm插件,可以對npm提供支持考抄,其實用于npm倉庫管理的還有一個工具sinopia,可惜的是早已停止更新蔗彤。

下載安裝

  1. 在官網(wǎng)下載Nexus Repository Manager OSS 3.x, 解壓至任意位置.

  2. 管理員運行cmd, 切換到 nexus-3.15.2-01/bin 目錄

    nexus.exe /install 進行安裝, 成功后會提示 Installed service 'nexus

    nexus.exe /run 運行服務(wù), 第一次要耐心等待很久

  3. 等待啟動完畢后, 進入 http://127.0.0.1:8081, 點擊右上角 Sign In 登陸, 默認賬號: admin 密碼: admin123

  4. 如果提示 could not open SCManager 是因為沒有使用管理員身份啟動cmd

添加npm倉庫

  • 點擊在左側(cè)菜單Repositories川梅,可以看到倉庫類型列表,如下:

    image.png

    npm(group)表示分組然遏,npm(hosted)表示本機私有贫途,npm(proxy)表示遠程代理。
    若registry配置為group(包括hosted和proxy)待侵,首先會從hosted取丢早,若無則從proxy取并緩存,下次則會從緩存取秧倾。

  • 點擊Create repository按鈕創(chuàng)建倉庫

  • 選擇 npm(proxy), 輸入 Name: npm-proxy, remote storage 填寫 https://registry.npm.taobao.orghttps://registry.npmjs.org. 用于將包情求代理到地址地址

    image.png

  • 再次點擊Create repository按鈕., 增加 npm(hosted) 輸入 Name: npm-hosted 用于存放自己的私有包


    image.png
  • 再次點擊Create repository按鈕.,增加npm(group) 輸入 Name: npm-all, 下面Member repositories里選擇之前添加的2個移動右邊


    image.png

配置與驗證npm倉庫

  • 查看并設(shè)置nodejs的默認倉庫地址
npm config get registry  #http://registry.cnpmjs.org/
npm config set registry http://localhost:8081/repository/npm-group/
  • 設(shè)置完成后那先,可以找到當(dāng)前用戶目錄下的.npmrc文件,內(nèi)容如下:


    image.png
  • 隨便進入一個目錄, 初始化package, npm init -y, npm --loglevel info install jquery 查看是否從自己的倉庫地址拉取包
npm init -y
npm --loglevel info install jquery
#查看本地包的緩存地址(和私服無關(guān))命令
npm config get cache
image.png

從上圖中可以看到售淡,fetch地址即為私服地址斤葱。
查看剛搭建的私服里的內(nèi)容為空, 在安裝了依賴包后,就會有一些被緩存了揍堕,下次請求就不會走外網(wǎng)了汤纸。


image.png

發(fā)布包到私服

npm發(fā)布包是需要先登錄的衩茸,默認是登錄到npm官方服務(wù)器,若registry已更改為其它地址則可能登錄失敗贮泞,而這里我們只是想把包發(fā)布到自己私有的服務(wù)器上递瑰。

  1. 添加權(quán)限認證
    設(shè)置權(quán)限, Realms 菜單, 將 npm Bearer Token Realm 添加到右邊
  2. 創(chuàng)建nx-deploy角色
    給角色賦于一個nx-repository-view-*-*-*權(quán)限
    image.png
  3. 創(chuàng)建deployer 用戶,密碼也為 deployer,同時設(shè)定角色為nx-deploy


    image.png
  4. 客戶端的.npmrc配置
registry=http://127.0.0.1:8081/repository/npm-group/
email=deployer@skytech.com
always-auth=true
_auth="ZGVwbG95ZXI6ZGVwbG95ZXI="

_auth是 username:password 的base64值抖部,這樣設(shè)置的好處是publish時就不用login了说贝。

  1. 發(fā)布控件到npm私服中
    在package.json 配置
"publishConfig" : {
    "registry" : "http://localhost:8081/repository/npm-hosted/"
  }

在包根目錄執(zhí)行npm publish即可乡恕。
如下:

image.png

注意:發(fā)布是npm-hosted俯萎,不是npm-group.
若不想在package.json配置傲宜,也可以在命令行指定函卒,如下:

$ npm publish --registry=http://localhost:8081/repository/npm-hosted/
+ vue-hslider@1.0.0

Nexus3數(shù)據(jù)備份遷移

內(nèi)網(wǎng)環(huán)境下撇眯,很多包需要從外網(wǎng)移入,可以把相關(guān)包在外網(wǎng)安裝測試成功后熊榛,然后將緩存的包直接復(fù)制到內(nèi)網(wǎng)即可。

Linux

  • 倉庫遷移
    Nexus的構(gòu)件倉庫都保存在sonatype-work目錄中血筑,該目錄的位置由nexus/conf/nexus.properties配置文件指定煎楣。
    倉庫遷移需要兩個過程:備份和還原

  • 備份倉庫
    將sonatype-work文件夾整體備份即可,也可以選擇只備份最重要的兩個文件夾索引(indexer)和倉庫(storage)

  • 還原倉庫
    將備份好的sonatype-work文件拷貝到新的服務(wù)器中择懂。然后修改nexus/conf/nexus.properties配置文件,重新指定倉庫的目錄沸枯。

Windows

  • 倉庫遷移
    Nexus的構(gòu)件倉庫都保存在sonatype-work目錄中赂弓,該目錄的位置由bin/nexus.vmoptions配置文件指定(Dkaraf.data)。
    倉庫遷移需要兩個過程:備份和還原

  • 備份倉庫
    將sonatype-work文件夾整體備份即可翔怎,也可以選擇只備份最重要的兩個文件夾索引(indexer)和倉庫(storage)

  • 還原倉庫
    將備份好的sonatype-work文件拷貝到新的服務(wù)器中。然后修改bin/nexus.vmoptions配置文件赤套,重新指定倉庫的目錄。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末容握,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子塑猖,更是在濱河造成了極大的恐慌谈跛,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜡励,死亡現(xiàn)場離奇詭異阻桅,居然都是意外死亡,警方通過查閱死者的電腦和手機鳍刷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門输瓜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芬萍,“玉大人,你說我怎么就攤上這事柬祠。” “怎么了嗜愈?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵蠕嫁,是天一觀的道長。 經(jīng)常有香客問我剃毒,道長,這世上最難降的妖魔是什么赘阀? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任基公,我火速辦了婚禮,結(jié)果婚禮上酌媒,老公的妹妹穿的比我還像新娘。我一直安慰自己喇辽,他們只是感情好雨席,可當(dāng)我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抽米,像睡著了一般糙置。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谤饭,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天揉抵,我揣著相機與錄音,去河邊找鬼冤今。 笑死,一個胖子當(dāng)著我的面吹牛屋谭,可吹牛的內(nèi)容都是我干的龟糕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼所意,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了扶踊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤备籽,失蹤者是張志新(化名)和其女友劉穎分井,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尺锚,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡瘫辩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了承绸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挣轨。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖荡澎,靈堂內(nèi)的尸體忽然破棺而出画饥,到底是詐尸還是另有隱情浊猾,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布衔彻,位于F島的核電站,受9級特大地震影響艰额,放射性物質(zhì)發(fā)生泄漏椒涯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一祖搓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拯欧,春花似錦、人聲如沸镐作。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杨蛋。三九已至,卻和暖如春护姆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背卵皂。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工砚亭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人添祸。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓寻仗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親耙替。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,500評論 2 359