Verdaccio 私库

Verdaccio 是一个 Node.js 创建的轻量的私有 npm proxy registry,所有您发布的包是私有的并且访问权限仅取决于您的配置。

verdaccio githubopen in new window

verdaccio 中文文档open in new window

源(Registry)是什么?

  • 源(Registry)是用于管理包(Package)信息的存储库,其实现了存储 CommonJS 兼容包的源规范。

  • 提供兼容 npm 客户端(yarn、npm 或 pnpm)的接口(API)。

  • 语义版本号(Semantic Versioning)兼容(semver)。

安装 Verdaccio

使用npm

npm install -g verdaccio
1

使用yarn

yarn global add verdaccio
1

使用 Verdaccio

  1. 执行 CLI 命令
  2. 设置registry,任选一种方法。

执行 CLI 命令

verdaccio
1

设置registry,你可以通过在全局环境下设置,让你的所有项目使用上自定义的源(Registry)

npm set registry http://localhost:8082/
1

或者在命令行中使用 npm 参数 --registry

npm install lodash --registry http://localhost:8082/
1

或使用yarn

yarn config set registry http://localhost:8082/
1

也可以添加.npmrc文件,定义registry

registry=http://localhost:8082/
1

或者在package.json中设置publishConfig

{
  "publishConfig": {
    "registry": "http://localhost:8082/"
  }
}
1
2
3
4
5

cli 命令

verdaccio --listen 4000 --config ~./config.yaml
1

cli 命令open in new window

https://segmentfault.com/a/1190000019075126open in new window

https://www.jianshu.com/p/0df0183db3b8open in new window

内部包和外部包之间

最小化影响原则。 当使用 yarn 或 npm 的时候,依旧是走原有的配置地址。 只有当安装内部包的时候,才会去我们自己的服务器上下载。 修改 registry,指向内部地址,有两种方式,一种是安装的时候直接使用,这种方法是一次性的,更适合全局包。因为,当代码上传到 github 之后,ci-cd 工具使用 npm 会找到不 registry。 添加一个配置文件,在里面定义 registry,更适合本地包,

Last Updated: 2022/5/20 17:40:34
Contributors: licong96, 黎聪