Verdaccio官网地址:https://verdaccio.org/en/
一、拉取镜像
docker pull verdaccio/verdaccio
二、运行容器
docker run -d -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
tips:生产环境使用,建议做数据持久化
三、通过Nrm查看&修改Npm默认仓库为私有Npm服务地址
Q:什么是Nrm?
A:nrm是一个管理npm的工具,能够查看和切换当前使用的registry。
1、添加私有Npm服务 nrm add myNpm http://localhost:4873/
2、将私有Npm服务设置为默认的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
创建一个项目。
npm init用来初始化生成一个新的package.json文件。它会向用户提问一系列问题,如果你觉得不用修改默认配置,一路回车就可以了。 如果使用了-f(代表force)、-y(代表yes),则跳过提问阶段,直接生成一个新的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、推送第二步创建的项目到Verdaccio私服中
npm adduser(用户名、密码、邮箱)-- 注册帐号
npm whoami(查看当前帐号)
sudo npm publish(发布到npmjs.org)-- 注意:sudo权限
如果没有注册npm账户npm adduser USERNAME
如果没有登录npm login
- 定位到项目目录,执行
npm publish
发布到私服中。如果没有使用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>
使用这个命令,并不会在社区里撤销你已有的包,但会在任何人尝试安装这个包的时候得到警告
例如:npm deprecate test '这个包已经不再维护了喔'
6、如何更新包?
修改package.json里的version字段,注意格式(0.0.1),
[第一个0(位置)]是项目或者工具功能方面较大的更改以及版本之间不兼容,
[第二个0(位置)]是对原来的项目或者工具进行功能的增加与删除
[第三个0(位置)]是修改bug
npm publish
本地更新版本号
比如我想来个1.0.1版本,注意,是最后一位修改了增1,命令:npm version patch
比如我想来个1.1.0版本,注意,是第二位修改了增1,命令:npm version minor
比如我想来个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