在开发NPM包时,如果有以下情况,可以考虑搭建私有仓库:
- 项目中的自研组件,不便发布在公网上
- 需要对组件的读写权限做控制
- 不同项目会使用相同的组件,并且该组件更新频繁
- 保持组件或依赖设计的一致性,修改时只需更新版本号
- 为了提升打包部署速度,使用局域网安装依赖,速度较快
- 对开源代码做备份,便于审查,提升安全性和稳定性
安装
使用npm安装,node版本需在16及以上:
npm install -g verdaccio
启动
verdaccio
启动成功:
配置文件
- config.yaml 启动后生成的是仓库的配置文件,仓库的配置都写在里面
- htpasswd 当有用户注册后会生成的用户账号信息文件,记录账号和密码以及创建日期
- storage 所有上传的包都保存在这里
编辑配置config.yaml 文件,在最后一行新增 listen 0.0.0.0:4873,0.0.0.0 表示当前主机的 IPV4 地址;之后再重启服务,在浏览器输入服务器 IP 加端口就可以访问
创建用户
npm adduser --registry http://localhost:4873/
基本操作命令
# 添加私有仓库地址 npm config set registry=http://localhost:4873
# 登录仓库 npm login --registry http://localhost:4873
# 发布 npm publish
# 取消发布(即删除上传的包) npm unpublish <package-name> --force