使用背景
一般公司里边封装的组件或者工具类涉及到保密得,不能直接传到npm维护包;
我: 那怎么维护呢?
Verdaccio: 用我搭建一个公司内部npm仓库
安装
1、环境
需要安装nodejs,去node官网下载就可以了,需要v12或更高
2、开始安装
npm install -g verdaccio
3、配置文件
# 仓库地址
storage: /home/npm_package/storage
# 插件地址
plugins: /home/npm_package/plugins
# 认证
auth:
htpasswd:
file: ./htpasswd
max_users: 1000
# 上行链路,本地找不到插件会去这里加载
uplinks:
npmjs:
url: https://registry.npmjs.org/
# 允许所有用户 **访问** 所有包,但只有已登陆用户才能 **发布**
packages:
'@*/*':
# scoped packages
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
# JSON文档的最大主体大小是10mb,如果遇到“请求实体太大”的错误,可以增加这个值
max_body_size: 100mb
# 端口
listen: 0.0.0.0:4000
3、启动命令
# --config 配置文件地址
verdaccio --config 配置文件目录/config.yaml
4、后台运行
nohup verdaccio --config 配置文件目录/config.yaml &
或者用pm2,更多命令参考pm2 官网
# 启动
pm2 start verdaccio
# 查看log
pm2 logs
# 查看启动列表
pm2 list
# 重启
pm2 restart all
# 停止
pm2 kill
5、使用
web用户界面
用户相关
注册
# 添加用户(确保配置文件开启了允许注册)
# 依次按照窗口填写username、password、e-mail 回车提交数据即可
npm adduser --registry http://服务器ip:4000
登录
# 注册后,自动默认登录,登陆后npm会自动缓存,下次无需再次登录
npm login --registry http://服务器ip:4000
npm切换到私有仓库
# 将 npm 访问源设置为私库地址
npm config set registry http://服务器ip:4000
# 查看本机npm访问源
npm config get registry
或者用nrm维护源地址,很方便
查看源
添加源
nrm add sam http://192.168.3.181:4000/
切换源
发布npm包到私有库
# npm已经切换到私有库地址的可省略--registry参数
npm publish --registry http://服务器ip:4000