1.登陸nexus
地址:http://10.0.0.70:9081
默認賬號admin 密碼在 /nexus-data/admin.password
2.創建知識庫,有3種類型
3.創建npm(hosted)私有倉庫
hosted改成allow redeploy,這樣才能運行重復上傳一個包,不然會報400:bad request
4.創建npm(proxy)代理倉庫
proxy的remote storage設置:當私有倉庫和代理倉庫緩存包里無請求的包時,就會通過這里配置的地址去服務器下載需要的包,然后再緩存下來。我填的是淘寶鏡像:https://registry.npm.taobao.org 。npm官網的下載有點慢
5.創建npm(group)倉庫
name: npm-group,是倉庫組的名稱。可以包含任何npm的倉庫。最終npm install等操作時的地址將會是這個倉庫組的地址。group中,將剛創建的私有倉庫(npm-hosted)和代理倉庫(npm-proxy)拖動到右邊。
6.配置權限
- 一定不能忘,不然在adduser和publish會一直報錯401:Unable to authenticate, need: BASIC realm=“Sonatype Nexus Repository Manager”
7.npm 設置
npm config set registry http://10.0.070:9081/repository/npm-group/
npm get registry
8.創建一個npm包,發布到建立的私服
1.桌面創建一個npm項目test
- npm init -y 初始化項目
- package.json中name: "@chint/parkball",name是私服上最終顯示的包名
2.登陸hosted倉庫
npm adduser --registry=http://10.0.0.70:9081/repository/npm-hosted/
- 輸入admin和password
3.進入test目錄,發布包
npm publish --registry=http://10.0.0.70:9081/repository/npm-hosted
4.發布包的另一種方法
- 在test的config.json里設置
"publishConfig": {
"registry": "http://10.0.0.70:9081/repository/npm-hosted/"
},
- 在test文件夾下執行 npm publish ,因為指定了publish的地址,所以后面不用再加–registry參數