nexus 純小白文紊遵,如有雷同,大概率我參考了你的文檔侥蒙。
1.在本地運(yùn)行nexus
附上下載鏈接:Nexus Repository OSS 下載鏈接
附上文檔鏈接:Nexus Repository OSS 文檔鏈接
有幾個(gè)值得注意的是
我的 系統(tǒng)為 64位 win 7暗膜,平時(shí)只配置了java的基本環(huán)境,沒(méi)有配置編譯環(huán)境辉哥。很尷尬桦山,配置javac耽誤了我一點(diǎn)時(shí)間攒射。需要的同學(xué)醋旦,在運(yùn)行之前 需要配置一下jre環(huán)境。
我下載的是 nexus-3.5.0-02 這個(gè)版本会放。事實(shí)證明在win下雖然看起來(lái)一副人畜無(wú)害的樣子饲齐,似乎可以直接點(diǎn)擊安裝,但是事實(shí)上咧最,嘖嘖嘖捂人。
這里沒(méi)有好好閱讀文檔,也消耗了我的一些時(shí)間矢沿,下面放出win 下正確啟動(dòng)方法
// 在 \nexus-3.5.0-02\bin 目錄下執(zhí)行
$ nexus.exe /run
-
這里經(jīng)測(cè)試 用win自帶的cmd滥搭,和budun都可以比較好的啟動(dòng),用git bash則啟動(dòng)不是很好
啟動(dòng)之后默認(rèn)地址為 localhost:8081, 默認(rèn)賬號(hào)密碼 admin/ admin123
Nexus Repository Manager 中添加 npm
如果點(diǎn)擊:
這里有三個(gè)類型的npm選項(xiàng):
文檔中對(duì)這三個(gè)類型的倉(cāng)庫(kù)有詳細(xì)的解釋:
附上某歌翻譯:
Proxying npm Registries
為了減少開(kāi)發(fā)人員和CI服務(wù)器的重復(fù)下載量并提高下載速度捣鲸,您應(yīng)該對(duì)托管在https://registry.npmjs.org上的注冊(cè)表進(jìn)行代理瑟匆。 默認(rèn)情況下,npm直接訪問(wèn)此注冊(cè)表栽惶。 您還可以代理您需要的任何其他注冊(cè)表愁溜。
要代理外部npm注冊(cè)表,您只需創(chuàng)建一個(gè)新的npm(代理)外厂,如“存儲(chǔ)庫(kù)管理”中所述冕象。
最小配置步驟是:
- 定義名稱
- 定義遠(yuǎn)程存儲(chǔ)的URL,例如https://registry.npmjs.org
- 選擇存儲(chǔ)的Blob存儲(chǔ)
Private npm Registries
私人npm注冊(cè)表可用于上傳您自己的軟件包以及第三方軟件包汁蝶。 您可以通過(guò)在存儲(chǔ)庫(kù)管理器中設(shè)置npm格式的托管存儲(chǔ)庫(kù)來(lái)創(chuàng)建私有的npm注冊(cè)表渐扮。 為了這些目的,建立兩個(gè)獨(dú)立的托管存儲(chǔ)庫(kù)是一個(gè)很好的做法掖棉。
要?jiǎng)?chuàng)建具有npm格式的托管存儲(chǔ)庫(kù)席爽,只需創(chuàng)建一個(gè)新的npm(托管),如“存儲(chǔ)庫(kù)管理”中所述啊片。
最小配置步驟是:
- 定義名稱
- 選擇存儲(chǔ)的Blob存儲(chǔ)
隨著軟件包從存儲(chǔ)庫(kù)部署或刪除只锻,npm注冊(cè)表信息將立即更新。
Grouping npm Registries
存儲(chǔ)庫(kù)組是將所有npm注冊(cè)表存儲(chǔ)庫(kù)從存儲(chǔ)庫(kù)管理器公開(kāi)給您的用戶的推薦方式紫谷,而不需要任何其他客戶端配置齐饮。存儲(chǔ)庫(kù)組允許您將多個(gè)代理和托管存儲(chǔ)庫(kù)的聚合內(nèi)容公開(kāi)為一個(gè)URL到npm和其他工具捐寥。這可以通過(guò)創(chuàng)建一個(gè)新的npm(組),如“存儲(chǔ)庫(kù)管理”中所述祖驱,用于npm存儲(chǔ)庫(kù)握恳。
最小配置步驟是:
- 定義名稱
- 選擇存儲(chǔ)的Blob存儲(chǔ)
- 以所需的順序?qū)pm存儲(chǔ)庫(kù)添加到成員列表中
典型的有用的示例是將代理存儲(chǔ)庫(kù)分組:代理npm注冊(cè)表,npm托管存儲(chǔ)庫(kù)與內(nèi)部軟件包和另一個(gè)npm托管存儲(chǔ)庫(kù)與第三方軟件包捺僻。
使用存儲(chǔ)庫(kù)組的URL作為客戶端工具中的npm存儲(chǔ)庫(kù)URL乡洼,您可以使用一個(gè)URL訪問(wèn)所有三個(gè)存儲(chǔ)庫(kù)中的軟件包。添加的任何新軟件包以及添加到組中的任何新存儲(chǔ)庫(kù)將自動(dòng)可用匕坯。
- 創(chuàng)建 Proxying npm Registries 代理倉(cāng)庫(kù)
- 創(chuàng)建 Hosted npm Registries 代理倉(cāng)庫(kù)
- 創(chuàng)建 Grouping npm Registries 倉(cāng)庫(kù)
需要注意的是組倉(cāng)庫(kù)要把之前的 proxy 和 hosted 都添加上束昵。
我的目錄對(duì)應(yīng)為 mytest/myhost/mygroup
在home目錄下, 的.npmrc文件中添加 registry = http://localhost:8081/repository/npm-all/ 葛峻。這個(gè)路徑要和自己的路徑一致锹雏,并且最后的rep名要和group相同。
win下 home路徑:
這時(shí)嘗試一下
// 查看一下 是否從本地服務(wù)器中下載
$ npm -loglevel info install grunt
此時(shí)可以驗(yàn)證一下 是否依賴走了代理:
設(shè)置權(quán)限
把這個(gè)選項(xiàng)拖到右邊就可以了
在admin之外可以重新設(shè)置一個(gè)賬號(hào)礁遵,以及權(quán)限
// 使用
$ npm login –registry=http://localhost:8081/repository/mygroup
// 進(jìn)行登陸,需要填寫(xiě)賬號(hào)采记、密碼以及郵箱佣耐。
發(fā)布到hosted
我和原教程不一樣的是:我發(fā)布到本地hosted, 而不是直接到npm社區(qū)唧龄,這里需要注意的是 通過(guò)proxy是可以直接發(fā)布到npm社區(qū)的兼砖,使用的是社區(qū)的賬號(hào)密碼,這個(gè)需要提前申請(qǐng)
要發(fā)布的模塊选侨,必須保證在根目錄下有package.json文件掖鱼,否則會(huì)報(bào)錯(cuò)。
pachage.json文件內(nèi)容比較隨意援制,如果比較懶 可以用 npm init 直接自動(dòng)生成戏挡。
{
"name": "myhost",
"version": "1.0.0"
}
然后執(zhí)行發(fā)布命令:
$ npm publish –registry http://localhost:8081/repository/myhost
然后我遇到了報(bào)錯(cuò),按照?qǐng)?bào)錯(cuò)執(zhí)行
$ npm adduser –registry http://localhost:8081/repository/myhost
這里值得注意的是晨仑, adduser的時(shí)候要指明是哪個(gè)rep褐墅,要不就會(huì)add到默認(rèn)的.npmrc 里添加的 rep中
添加完用戶之后泡躯,再執(zhí)行發(fā)布命令就ok了湘今。
package.json可以指定name 和version并且可以添加發(fā)布路徑的配置:
{
"name": "intro",
"version": "1.0.0",
"publishConfig" : {
"registry" : "http://localhost:8081/repository/myhost/"
}
}
這樣的話發(fā)布直接用 npm publish就可以了清酥。
發(fā)布之后可以在 系統(tǒng)中的 左側(cè)browse 中的assets中看到上傳的資源
group 中可以同時(shí)看到 proxy 和 hosted 的資源漠秋, proxy會(huì)存下第一次下載過(guò)的目錄,之后再下載時(shí)走的是代理靶橱,hosted存的是本地上傳的包資源隘弊。
然后可以在本地下載一下剛才上傳到hosted的包:
以上糕再,為所有內(nèi)容拱镐。
參考: npm 私服(上) 艘款、 npm 私服(下) 持际、 nexus搭建npm私服
感謝以上朋友的文檔, 內(nèi)容侵刪哗咆。