Verdaccio官網(wǎng)地址:https://verdaccio.org/en/
一、拉取鏡像
docker pull verdaccio/verdaccio
二渗鬼、運(yùn)行容器
docker run -d -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
tips:生產(chǎn)環(huán)境使用宪萄,建議做數(shù)據(jù)持久化
三丹禀、通過Nrm查看&修改Npm默認(rèn)倉庫為私有Npm服務(wù)地址
Q:什么是Nrm匕累?
A:nrm是一個(gè)管理npm的工具渡八,能夠查看和切換當(dāng)前使用的registry。
1娃胆、添加私有Npm服務(wù) nrm add myNpm http://localhost:4873/
2遍希、將私有Npm服務(wù)設(shè)置為默認(rèn)的Npm庫nrm use myNpm
Nrm 的GitHub倉庫 :https://github.com/Pana/nrm
四、登錄并且推送Npm庫到Verdaccio
-
1里烦、使用命令
npm adduser
登錄Verdaccio凿蒜,如果沒有使用nrm切換npm源禁谦,則需要使用npm adduser --registry http://localhost:4873
2、使用
npm init
創(chuàng)建一個(gè)項(xiàng)目废封。
npm init用來初始化生成一個(gè)新的package.json文件州泊。它會(huì)向用戶提問一系列問題,如果你覺得不用修改默認(rèn)配置漂洋,一路回車就可以了遥皂。 如果使用了-f(代表force)、-y(代表yes)刽漂,則跳過提問階段演训,直接生成一個(gè)新的package.json文件
index.js
代碼如下
exports.showMsg = function () {
console.log("This is my first module");
};
package.json
代碼如下
{
"name": "npm",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
3、推送第二步創(chuàng)建的項(xiàng)目到Verdaccio私服中
npm adduser(用戶名贝咙、密碼样悟、郵箱)-- 注冊(cè)帳號(hào)
npm whoami(查看當(dāng)前帳號(hào))
sudo npm publish(發(fā)布到npmjs.org)-- 注意:sudo權(quán)限
如果沒有注冊(cè)npm賬戶npm adduser USERNAME
如果沒有登錄npm login
- 定位到項(xiàng)目目錄,執(zhí)行
npm publish
發(fā)布到私服中庭猩。如果沒有使用nrm切換npm源窟她,則需要使用npm publish --registry http://localhost:4873
4、從私服中安裝npm包
- 使用npm安裝包的命令格式為:
npm [install/i] [package_name] --registry [私服地址]
5蔼水、如何刪除之前的版本
npm unpublish (npm包名@1.0.0)
npm unpublish的推薦替代命令:npm deprecate <pkg>[@<version>] <message>
使用這個(gè)命令震糖,并不會(huì)在社區(qū)里撤銷你已有的包,但會(huì)在任何人嘗試安裝這個(gè)包的時(shí)候得到警告
例如:npm deprecate test '這個(gè)包已經(jīng)不再維護(hù)了喔'
6趴腋、如何更新包?
修改package.json里的version字段吊说,注意格式(0.0.1),
[第一個(gè)0(位置)]是項(xiàng)目或者工具功能方面較大的更改以及版本之間不兼容于样,
[第二個(gè)0(位置)]是對(duì)原來的項(xiàng)目或者工具進(jìn)行功能的增加與刪除
[第三個(gè)0(位置)]是修改bug
npm publish
本地更新版本號(hào)
比如我想來個(gè)1.0.1版本疏叨,注意,是最后一位修改了增1穿剖,命令:npm version patch
比如我想來個(gè)1.1.0版本蚤蔓,注意,是第二位修改了增1糊余,命令:npm version minor
比如我想來個(gè)2.0.0版本秀又,注意,是第一位修改了增1贬芥,命令: npm version major
參考地址:
1吐辙、http://www.pianshen.com/article/6822333782/
2、https://medium.com/@ceall8650/%E7%AD%86%E8%A8%98-%E5%BB%BA%E7%AB%8B%E8%87%AA%E5%B7%B1%E7%9A%84-npm-%E4%BB%A5npm-orgs%E8%B7%9Fverdaccio%E7%82%BA%E4%BE%8B-cfb83b2307e6
3蘸劈、https://medium.com/@sibeeshvenu/having-a-docker-container-as-your-private-npm-registry-the-easy-way-68159fa94cc4
4昏苏、https://blog.programster.org/Verdaccio-host-your-own-npm-packages
5、https://medium.com/@ayusharma.in/npm-registry-for-your-organisation-aeb8ea76144
6、https://medium.com/@tompape/kubernetes-private-npm-registry-fb5f450fa611
7贤惯、https://blog.csdn.net/YYZZHC999/article/details/80100388
8洼专、https://blog.csdn.net/weixin_34234829/article/details/88203405
9、http://ju.outofmemory.cn/entry/338244
10孵构、https://blog.csdn.net/yyzzhc999/article/details/80100388
11屁商、https://blog.csdn.net/weixin_43249693/article/details/84453017
12、https://www.cnblogs.com/pingfan1990/p/4824658.html
13颈墅、https://blog.csdn.net/qq_24956515/article/details/80514262