1. 安装
  2. 使用
  3. 配置镜像源
  4. 备份
  5. 允许其他电脑访问
  6. 注册用户
  7. 报错 uplink is offline
  8. 参考

Verdaccio 使用笔记

Verdaccio 是一个基于 Node.js 的轻量级 NPM 包缓存服务,无需安装数据库。
最常用应用场景是使用 Verdaccio 搭建 NPM 私服,解决离线环境下 Node.js 开发时无法安装依赖的问题。
对比其他的 npm 包服务,Verdaccio 的优点有:
1 容易安装配置,开箱即用。
2 在不同电脑间迁移数据仅需要拷贝配置文件和缓存文件夹。

安装

安装

1
npm install -g verdaccio

使用

1 启动 verdaccio 服务

1
verdaccio

2 通过 verdaccio 安装 npm package

1
2
3
npm install  --registry http://localhost:4873

npm install lodash --registry http://localhost:4873

配置镜像源

启动 verdaccio 服务查看配置文件 config.yaml 的位置

1
2
C:\>verdaccio
info --- config file - C:\Users\username\AppData\Roaming\verdaccio\config.yaml

修改 url: https://registry.npmjs.org/ 为阿里镜像

1
2
3
uplinks:
npmjs:
url: https://registry.npmmirror.com

链接远程 Registry · Verdaccio

备份

直接复制 C:\Users\username\AppData\Roaming\verdaccio\storage 文件夹即可

如果想通过 verdaccio 收集离线执行 npm install 所需的依赖包,务必在执行 npm install 前使用如下命令清除 npm 的缓存。

1
npm cache clean --force

运行 npm cach 后可能会显示如下提示,这并不意味着运行失败。

1
npm WARN using --force Recommended protections disabled.

可以使用如下命令确认缓存已经被清除

1
npm cache verify

node.js - Getting : npm WARN using --force Recommended protections disabled - Stack Overflow

允许其他电脑访问

修改 config.yaml 文件,添加如下配置

1
listen: 0.0.0.0:4873

https://segmentfault.com/a/1190000023213407

注册用户

1
npm adduser --registry http://localhost:4873/

禁止用户注册,修改 config.yaml

1
2
3
auth:
htpasswd:
max_users: -1

修改 config.yaml,该配置适用于网络环境较差的情况。

1
2
3
4
5
6
7
uplinks:
npmjs:
url: https://registry.npmjs.org/
# 最大重试次数,默认为 2
max_fails: 20
# 超时时间,默认为5m
fail_timeout: 10m

参考
https://github.com/verdaccio/verdaccio/issues/1703

更多配置见
Uplinks | Verdaccio

参考

npm 私有仓库 verdaccio 的部署 | 个人博客 | 一个 coder 的成长记录