環(huán)境信息
- nexus: 3.29.2-02
- node: v14.18.2
- npm: 6.14.15
搭建npm倉庫
創(chuàng)建存儲位置
這一步不是必須的,可以跟之前創(chuàng)建的復(fù)用
依次打開 [設(shè)置] -> [ Blob Stores] -> [Create blob store] 填入name并確認(rèn) [Create blob store](path默認(rèn)會自動填充,可根據(jù)需要進行修改)
創(chuàng)建proxy倉庫
依次打開 [設(shè)置] -> [ Repositories] -> [Create repository] -> 選擇 [npm(proxy)]類型 打開新增頁面, 填入name、url并選擇**[blob store](可以選擇上一步中創(chuàng)建的) ,點擊[Create repository]** 確認(rèn)即可
創(chuàng)建hosted倉庫
依次打開 [設(shè)置] -> [ Repositories] -> [Create repository] -> 選擇 [npm(hosted)]類型 打開新增頁面, 填入name、選擇**[blob store](可以選擇上上一步中創(chuàng)建的存儲位置) ,點擊[Create repository]** 確認(rèn)即可
創(chuàng)建group倉庫
依次打開 [設(shè)置] -> [ Repositories] -> [Create repository] -> 選擇 [npm(group)]類型 打開新增頁面, 填入name、選擇 [blob store] (可以選擇上上上一步中創(chuàng)建的存儲位置) ,從可用列表中選中上一步添加的proxy\hosted類型的倉庫,并點擊 [>] 添加到右側(cè),然后點擊 [Create repository] 確認(rèn)即可
配置域
這一步配置主要為了在使用時認(rèn)證使用,如不配置將報如下錯誤
npm ERR! code E401
npm ERR! Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager"
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\**\AppData\Roaming\npm-cache\_logs\2023-06-27T14_30_31_628Z-debug.log
依次打開 [設(shè)置] -> [ Security] -> [Realms ],從可用列表中選中 [npm Bearer Token Realm] ,并點擊 [>] 添加到右側(cè),然后點擊 [Save] 確認(rèn)即可
下載及上傳
登錄
如允許了匿名訪問可忽略
使用如下依次設(shè)置私服地址及登錄
#設(shè)置私服地址 (私服地址可從倉庫列表中獲得)
npm config set registry http://192.168.1.11:8081/repository/npm-public/
#登錄私服
npm login --registry http://192.168.1.11:8081/repository/npm-public/
獲取私服地址
登錄過程
下載
以 安裝verdaccio為例
執(zhí)行如下命令
# 安裝插件
npm install verdaccio --save
安裝過程
安裝完畢后public 倉庫內(nèi)容發(fā)生變化
上傳
以shellsubstitute插件源碼為例
shellsubstitute源碼下載地址: https://github.com/featurist/shellsubstitute/archive/refs/heads/master.zip
下載依賴包時使用的group類型的倉庫,按其內(nèi)順序依次查找,當(dāng)上傳時須上傳到hosted類型倉庫,雖然兩個倉庫ip、端口一致,但仍需要進行登錄操作
依次執(zhí)行如下命令文章來源:http://www.zghlxwxcb.cn/news/detail-518416.html
#git拉取代碼(直接下載包也行)
git clone https://gh.api.99988866.xyz/https://github.com/featurist/shellsubstitute.git
#版本迭代
npm version patch
# 登錄到hosted類型的倉庫
npm login --registry http://192.168.1.11:8081/repository/npm-local/
# 發(fā)布到hosted類型的倉庫
npm publish --registry http://192.168.1.11:8081/repository/npm-local/
#
上傳效果
上傳后hosted倉庫文章來源地址http://www.zghlxwxcb.cn/news/detail-518416.html
到了這里,關(guān)于[nexus]基于nexus搭建npm倉庫及上傳插件到倉庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!