搭建NPM私有仓库
在公司内部有时因为业务需要我们建立自己的npm
包私有仓库,以方便各个项目代码共用。verdaccio是比较方便搭建npm
私有仓库的包。
verdaccio
的特点:
- 不同步拉取npm库,占据大量硬盘,没有硬盘被撑爆的问题;
- 安装配置极其简单,不需要数据库;
- 支持配置上游registry配置,拉取即缓存;
- 支持forever及pm2守护进程管理;
- 私有npm package 管理
- 支持 docker 等应用容器
安装 Verdaccio
1 | $ npm install --global verdaccio |
注意: verdaccio
对Node.js有一定的要求,确保使用较新版本的Node.js。
配置 Verdaccio
verdaccio
配置文件在:~/.config/verdaccio/config.yaml
。
1 | ##设置NPM包的存放目录 |
注意: proxy
建议屏蔽掉,因为如果是公司内部使用,确保可以清晰的知道下载的包来源比较安全。
verdaccio
默认监听的端口是:4873
pm2 管理 verdaccio
verdaccio
本质是个Node.js服务,可以通过pm2
对它进行进程管理。
1 | $ pm2 start verdaccio # 启动 verdaccio |
配置Nginx反向代理
verdaccio
监听的是本地端口,为了方便外部用户访问最好在Nginx
配置一个反向代理
1 | server { |
sudo systemctl reload nginx.service
重启Nginx
nrm
搭建好自己的私有npm
仓库后,你需要将本地的npm registry
指定为自己的私有仓库路径。
nrm是 npm registry 管理工具, 能够查看和切换当前使用的registry。不安装也可以,安装会更高效。
1 | $ npm install -g nrm # 全局安装 nrm |
发布私包和下载
通过nrm
将你的registry
地址切换为自己私有仓库的路径后,通过npm install
下载的包都会从自己私有仓库下载。
如果发布私有包只需要npm publish
一下就可以。但如果你是第一次发布包,你需要让通过npm adduser
在私有仓库上注册一个账户。
参考
作者: Fynn
链接: https://fynn90.github.io/2018/11/21/npm%E7%A7%81%E6%9C%89%E4%BB%93%E5%BA%93/
本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可