
verdaccio/verdaccioVerdaccio 是一款简单的零配置本地私有 npm 仓库,无需完整数据库即可快速启动。它内置轻量数据库,支持代理其他仓库(如 npmjs.org)并缓存下载的模块。若需扩展存储能力,可通过社区插件对接 Amazon S3、Google Cloud Storage 等服务,或自定义插件。
通过 npm 全局安装:
bashnpm install --global verdaccio
在企业内部使用 npm 包管理系统,无需将代码公开,私有包的使用体验与公共包一致。
多服务器环境下,通过缓存 npmjs.org 内容减少网络延迟(每个包/版本仅需连接一次 npmjs.org),并提供有限故障转移能力(如 npmjs.org 故障时可使用缓存内容),避免因公共仓库问题(如包突然下架、404 错误)影响开发。
企业内若有多个 registry,可通过 Verdaccio 的「上行链路」功能将多个源串联,实现单个端点拉取多仓库包。
如需使用修改后的第三方包(如修复 bug 但原作者未合并 PR),可在本地以相同名称发布自定义版本。
Verdaccio 启动速度快(几秒内),适合作为 CI 环境的轻量 registry。众多开源项目(如 create-react-app、pnpm、storybook)均用其进行端到端测试。
终端运行以下命令启动 Verdaccio:
bashverdaccio
设置全局 registry:
bashnpm set registry [***] 或单次使用: ```bash NPM_CONFIG_REGISTRY=[***] npm i
浏览器打开 [***],可查看本地包列表并搜索。
⚠️ 注意:Verdaccio 暂不支持 PM2 集群模式,使用集群模式可能导致异常行为。
bashnpm adduser --registry [***] 若使用 HTTPS,需配置 CA(设为 `null` 表示从系统获取 CA 列表): ```bash npm set ca null
bashnpm publish --registry [***] 系统会提示输入用户凭证,信息将保存在 Verdaccio 服务器中。 ## Docker 部署 ### 拉取镜像 ```bash docker pull verdaccio/verdaccio # 最新版 # 或指定版本 docker pull verdaccio/verdaccio:4
bashdocker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
更多 Docker 配置示例见 官方仓库。
Verdaccio 支持 npm 客户端的大部分标准功能,以下为核心支持情况:
npm install、npm upgrade 等):✅ 支持npm publish):✅ 支持npm unpublish):✅ 支持npm tag):✅ 支持npm deprecate):✅ 支持npm adduser):✅ 支持npm profile set password):✅ 支持npm owner add):❌ 暂不支持(欢迎 PR)npm token):✅ 支持npm search):✅ 支持(命令行/浏览器)npm ping):✅ 支持npm star/unstar/stars):✅ 支持npm/yarn audit):✅ 支持若发现安全漏洞,请参考 安全政策 提交报告。
Verdaccio 基于 MIT 许可证 开源。文档及 logo(除 /thanks 目录)采用 CC BY 4.0 协议。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务