跳到主要内容
版本号:Next

链接远程 Registry

Verdaccio 是一个代理,默认链接公共 Registry。

uplinks:
npmjs:
url: https://registry.npmjs.org/

您可以链接多个 Registry,下面的文档将向您介绍一些有用的配置。

使用关联 Scope

使用 .npmrc 访问多个 Registry 的唯一方法是作用域功能,具体如下:

// .npmrc
registry=https://registry.npmjs.org
@mycompany:registry=http://localhost:4873

这种方法是有效的,但有几个缺点:

  • 仅适用于 Scope
  • Scope 必须匹配,不允许使用正则表达式
  • 一个 Scope 无法从多个 Registry 获取
  • 令牌/密码必须在 .npmrc 中定义并签入存储库。

请参阅此处的完整示例。

链接 Registry

链接 Registry 相当简单。 首先,在 uplinks 部分中定义一个新部分。 请注意,这里的顺序无关紧要。

  uplinks:
private:
url: https://private.registry.net/npm

... [truncated] ...

'webpack':
access: $all
publish: $authenticated
proxy: private

添加 proxy 部分,定义要代理的 Registry。

连接多个注册中心

  uplinks:
server1:
url: https://server1.registry.net/npm
server2:
url: https://server2.registry.net/npm

... [truncated] ...

'webpack':
access: $all
publish: $authenticated
proxy: server1 server2

Verdaccio 支持 proxy 字段上配置多个 Registry。 请求将由列表中的第一个来处理;如果请求失败,将通过列表中的下一个来处理,以此类推。

Registry 离线

拥有完全离线的 Registry 是完全可能的。 如果您不想与外部建立任何连接,可以执行以下操作。

auth:
htpasswd:
file: ./htpasswd
uplinks:
packages:
'@my-company/*':
access: $all
publish: none
'@*/*':
access: $all
publish: $authenticated
'**':
access: $all
publish: $authenticated

删除 packages 各部分中的所有 proxy 字段。 当前 Registry 将完全离线。