verdaccio + docker 搭建 npm 私有仓库

220 阅读1分钟

verdaccio+ docker 搭建 npm 私有仓库

verdaccio github地址github.com/verdaccio/v…

参考官网做一个私有库 image-20220506235255713.png

安装 verdaccio,拉取镜像

执行 docker pull verdaccio/verdaccio:nightly-master

image-20220508220608324.png

运行一个 verdaccio 容器

运行容器暴露端口号docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio

image-20220508221205868.png

打开轻量应用服务器上防火墙对应的端口号:4873

image-20220508221724515.png

访问网站

image-20220508221816842.png

推送npm 包到网站

安装一个node 镜像

docker pull node

运行node 容器,并且进入容器内部 注册 npm adduser --registry http://xx.xxx.xxx.xxx:4873/ 按提示输入 用户名/密码

image.png

添加、切换源

这里我们为了操作方面,通过 nrm 来切换源。没有安装 nrm 的同学,可以先安装一下:

npm i -g nrm

然后,使用 nrm 添加一个源:

nrm add mynpm http://43.128.12.247:4873/

这里的 mynpm 代表你这个源的简称,你可以因自己的喜好来命名。

image-20220508223820397.png

接着,我们可以运行 nrm ls 命令来查看目前存在的源:

image-20220508223858066.png

可以看到默认情况下 npm 使用的源是 https://registry.npmjs.org/,那么这里我们需要将它切换成私有 npm 库对应的源:

nrm use mynpm

image-20220508224041424.png

切换好源后,我们之后的 npm i 就会先去私有库查找包,如果不存在则会去 https://registry.npmjs.org/(因为上面配置了 proxy)查找包。 proxy 配置(需要修改)

测试发布是否成功

# node 环境下创建一个文件夹
mkdir ~/test 
cd ~/test 
# 初始化一个项目
npm init -y 
# 发布
npm publish

image-20220508224543633.png

登录网站,发现已经发布成功:

image-20220508224655543.png 删除本地目录 rm -r *

image-20220508224954525.png

安装依赖 npm install test 查看node_modules中已经安装好包

image-20220508225146691.png

image-20220508225310527.png node_modules 中也有test 目录说明下载成功。

参考链接:juejin.cn/post/684490…

参考链接:juejin.cn/post/702745…

参考链接:juejin.cn/post/693226…