在 docker 下安装 verdaccio 镜像使用如下命令即可:
docker pull verdaccio/verdaccio
如果安装失败,可以修改国内镜像
cd /etc/docker
daemon.json
文件 ,不存在可以 touch daemon.json
创建,设置镜像地址{
"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
// 名称verdaccio, 端口 4873
docker container run -it --name verdaccio -p 4873:4873 -d verdaccio/verdaccio
docker container run -it --name verdaccio -p 4873:4873 -v /home/verdaccio:/verdaccio -d verdaccio/verdaccio
tips
: 本地目录 /home/verdaccio/storage 需要设置权限,不然会因为权限问题而导致操作失败。
chown -R 10001:65533 /home/verdaccio/storage
有了私有库以后,就可以在其上发布 npm 包。
但初始化时需要先添加用户,设置用户名和密码等,然后就可以直接发包了。
npm adduser --registry http://0.0.0.0:4873/
// 输入用户名、密码和邮箱。
npm publish --registry http://0.0.0.0:4873/
常用配置如下:
# 素有包的保存路径
storage: /verdaccio/storage/data
# 插件的保存路径
plugins: /verdaccio/plugins
# 通过web访问
web:
title: Verdaccio
# 账号密码文件,初始不存在
auth:
htpasswd:
file: /verdaccio/storage/htpasswd
# max_users:1000
# 默认1000,允许用户注册数量。为-1时,不能通过 npm adduser 注册,此时可以直接修改 file 文件添加用户。
# 本地不存在时,读取仓库的地址
uplinks:
npmjs:
url: https://registry.npmjs.org
# 对包的访问操作权限,可以匹配某个具体项目,也可以通配
# access 访问下载;publish 发布;unpublish 取消发布;
# proxy 对应着uplinks名称,本地不存在,去unplinks里取
# $all 表示所有人都可以执行该操作
# $authenticated 已注册账户可操作
# $anonymous 匿名用户可操作
# 还可以明确指定 htpasswd 用户表中的用户,可以配置一个或多个。
packages:
'@*/*':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
'**':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
# 服务器相关
sever:
keepAliveTimeout: 60
middlewares:
audit:
enabled: true
# 日志设定
logs: { type: stdout, format: pretty, level: http }
docker exec XXX npm config set registry https://registry.npmmirror.com/
docker exec XXX npm config rm proxy
docker exec XXX npm config rm https-proxy
docker exec XXX yarn config set sass-binary-site https://cdn.npmmirror.com/binaries/node-sass