前言
Verdaccio 是一个 Node.js 创建的轻量的私有npm proxy registry Verdaccio 前身是sinopia,sinopia的作者几年前就已经停止了对sinopia的维护和升级,所幸不是没人管,只是后期又出了一个sinopia的fork,也就是sinopia的分支,最后起名了新名叫 Verdaccio,并且开源免费使用。
为什么要使用私服
- 对公司项目封装组件进行隐私保护不对外,不想放到npm 社区上,对于前端,最熟悉的莫过于npm,bower 等,但是bower的市场明显没有npm强大的,npm是前端包管理的不二选择。
- 公司项目过多用的框架组件也一样,这个时候用私服就高效的多,直接npm install xxx,一键组件共享使用。
- 把包放到自己的服务器上下载包的时候走私服,下载速度快。
- 对于包的发布下载有一定的权限管理。
从零开始搭建私服
安装node
这里就不详细说node的安装了 注意node版本不要太低
安装Verdaccio
加上--unsafe-perm的原因是防止报grywarn权限的错
js
npm install -g verdaccio --unsafe-perm
配置
找到Verdaccio安装目录,打开config.yaml文件 在配置文件最后添加对应监听端口
js
listen: 0.0.0.0:4873 # listen on all addresses
verdaccio继承了sinopia,端口号4873
text
firewall-cmd --state # 先查看防火墙状态,
service firewalld start # 开启防火墙:
firewall-cmd --zone=public --add-port=4873/tcp --permanent #开放4873端口
firewall-cmd --reload #重新载入
firewall-cmd --zone=public --query-port=4873/tcp #查看是否添加成功
启动verdaccio
启动命令
text
verdaccio
这个时候就可以查看搭建好的私服网站了 自己的私服网站地址如下格式
使用pm2对verdaccio进程守护
js
npm install -g pm2 --unsafe-perm //安装pm2
pm2 start verdaccio //启动verdaccio
添加用户
添加完用户就可以在verdaccio启动页面尝试登录即可,默认登录后才有发包权限
js
npm adduser --registry http://192.168.1.60:4873 //后面是我们的私服地址
类似如下:
Username: beiwanglu //用户名称
Password: ........ //密码
Email: (this IS public) bwl@163.com
Logged in as rong on http://192.168.1.60:4873
终端用户如何使用
这里需要安装nrm 来对npm 镜像源进行管理,nrm是 npm registry 管理工具, 能够查看和切换当前使用的registry。不安装也可以,安装会更高效。
后面我会整理常用nrm管理工具常用命令和pm2进程守护常用命令
命令安装nrm
js
npm install -g nrm
添加私服名称到搭建的私服地址
这里我的私服名称是bwlnpm,这个名字自己随便起
js
nrm add bwlnpm http://192.168.1.60:4873
查看安装的镜像源registry 命令
js
nrm ls
使用添加的私服命令
js
nrm use bwlnpm
发布包命令
js
npm publish
nrm管理工具常用命令
命令 | 说明 |
---|---|
nrm ls | 查看已添加镜像源 |
nrm use bwlnpm | 切换镜像源 |
nrm add [镜像源名称] <源的地址> | 添加新的镜像 |
nrm del [镜像源名称] | 删除镜像源 |
nrm test [镜像源名称] | 测试镜像源的速度 |