Docker + Verdaccio 快速搭建 npm 私服仓库
最近在搭建公司的前端基础建设,需要搭建本地部署的 npm 私服仓库。最后选择的方案是 Verdaccio,Verdaccio 是一个轻量级的 Node.js npm 私服仓库,相较于其他方案,既快速又简单。
先决条件
- 掌握 Docker 相关知识
- 掌握 npm 公共仓库发布流程
使用 Docker 拉取 Verdaccio 镜像
bash
docker pull verdaccio/verdaccio
运行 Verdaccio 容器
bash
docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
此时,会在 4873 端口运行 Verdaccio,在浏览器中我们可以通过 http://localhost:4873 进行访问。
注册私服账户
创建用户
bash
npm adduser --registry http://localhost:4873
登录私服
bash
npm login --registry http://localhost:4873
将 npm 包发布至私服
package.json
配置如下,这样在 npm publish
的时候会将包的上传目的地更改为自定义仓库。
json
{
"name": "@mono/utils"
"publishConfig": {
"registry": "http://localhost:4873"
}
}
使用 npm publish
进行发布:
bash
npm publish
发布后我们可以通过私服地址预览:
通过私服安装 npm 包
在应用中引入私服的包,需要在 .npmrc
中对包源进行配置:
txt
@mono:registry=http://localhost:4873
上述 http://localhost:4873 需要替换为私有部署的地址,@mono 代表 mono 域下的包全部从私服中读取。
此时,执行 npm i
时会从私服下载 @mono 开头的包。
不使用 Docker?
虽然可以,但是不推荐。
通过 npm/pnpm 全局安装 Verdaccio,然后通过命令行启动。
bash
npm install -g verdaccio
verdaccio