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 | npm install --registry http://localhost:4873 |
配置镜像源
启动 verdaccio 服务查看配置文件 config.yaml 的位置
1 | C:\>verdaccio |
修改 url: https://registry.npmjs.org/ 为阿里镜像
1 | uplinks: |
备份
直接复制 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 | auth: |
报错 uplink is offline
修改 config.yaml,该配置适用于网络环境较差的情况。
1 | uplinks: |
参考
https://github.com/verdaccio/verdaccio/issues/1703
更多配置见
Uplinks | Verdaccio