本文主要是介绍使用Verdaccio(docker)搭建私有npm仓库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用Verdaccio(docker)搭建私有npm仓库
一、概述
Verdaccio可以帮我们搭建npm私有仓库,配合docker更加方便
二、安装
-
docker-compose
version: '3.5'services:verdaccio:image: verdaccio/verdacciocontainer_name: "verdaccio"restart: alwaysenvironment:- VERDACCIO_PORT=4873ports:- "4873:4873"volumes:- "./storage:/verdaccio/storage"- "./config:/verdaccio/conf"- "./plugins:/verdaccio/plugins"
-
配置:config.yaml
storage: /verdaccio/storage plugins: /verdaccio/pluginsweb:enable: truetitle: xxnpm仓库primary_color: redi18n:web: zh-CNauth:htpasswd:file: /verdaccio/conf/htpasswd security:api:jwt:sign:expiresIn: 60dnotBefore: 1web:sign:expiresIn: 7d## IMPORTANT ## This will configure verdaccio to rely on a relative path # url_prefix: /verdaccio/uplinks:npmjs:url: https://registry.npmjs.org/cnpm:url: http://r.cnpmjs.org/packages:"@xxx/*":access: $authenticatedpublish: $authenticatedunpublish: $authenticated"@*/*":access: $allpublish: $authenticatedunpublish: $authenticatedproxy: cnpm"**":access: $allpublish: $authenticatedunpublish: $authenticatedproxy: cnpmmiddlewares:audit:enabled: truelogs: { type: stdout, format: pretty, level: trace }listen: 0.0.0.0:4873
-
htpasswd
文件:用来存储 npm 用户及密码user001:xxx:autocreated 2022-01-01T00:00:00Z user002:xxx:autocreated 2022-01-01T00:00:00Z
-
security
安全:配置token -
uplinks
上游源:当前仓库没有的package就会从配置的源下载 -
packages
包管理:详细配置
-
权限
verdaccio 容器中创建的用户是verdaccio,无法写入主机 root 用户的文件,容器内 verdaccio 使用的 uid 为
10001
,gid 为65533
,可以在主机修改权限sudo chown 10001:65533 htpasswd sudo chown -R 10001:65533 storage
三、使用
-
注册用户
npm adduser --registry http://ip:4873
-
发布
-
package.json
"publishConfig": {"registry": "http://ip:4873"},
-
-
自动源
-
.npmrc
@xxx:registry=http://ip:4873/
-
这篇关于使用Verdaccio(docker)搭建私有npm仓库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!