跳到主内容
版本:10.x

Auth & Registry Settings (.npmrc)

The settings on this page must be configured via .npmrc files. pnpm uses the npm CLI under the hood for publishing, so these settings need to be in a format that npm can read.

For details on how .npmrc files are loaded, see the pnpm config command.

For settings that can be configured in pnpm-workspace.yaml, see Settings (pnpm-workspace.yaml).

Registry Settings

registry

npm 包注册源地址 (包括末尾斜杠) 。

@jsr:registry

添加于:v10.9.0

The base URL of the JSR package registry.

<scope>:registry

应用于指定范围的包的 npm 注册源。 例如,设置 @babel:registry=https://example.com/packages/npm/ 将在你使用 pnpm add @babel/core 或任何 @babel 范围的包时,该包将强制从 https://example.com/packages/npm 而不是默认注册源中获取。

Authentication Settings

<URL>:_authToken

访问指定注册源时要使用的身份验证承载令牌。 示例:

//registry.npmjs.org/:_authToken=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

你还可以使用环境变量。 示例:

//registry.npmjs.org/:_authToken=${NPM_TOKEN}

或者,你可以在完全不更改 .npmrc 下直接使用环境变量:

npm_config_//registry.npmjs.org/:_authToken=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

<URL>:tokenHelper

令牌助手是输出身份验证令牌的可执行文件。 这可以在 authToken 不是常量值而是定期刷新的情况中使用,其中脚本或其他工具可以使用现有的刷新令牌来获取新的访问令牌。

助手路径的配置必须是绝对路径,并且没有参数。 为了安全起见,只允许在用户 .npmrc 中设置该值。 否则,项目可以在项目的本地 .npmrc 中放置一个值并运行任意可执行文件。

为默认注册表设置令牌助手:

tokenHelper=/home/ivan/token-generator

为指定的注册表设置令牌助手:

//registry.corp.com:tokenHelper=/home/ivan/token-generator

Proxy Settings

https-proxy

  • 默认值: null
  • 类型:url

用于传输 HTTPS 请求的代理。 如果设置了 HTTPS_PROXYhttps_proxyHTTP_PROXYhttp_proxy 环境变量,将使用环境变量的值。

如果你的代理 URL 包含用户名和密码,请确保对它们进行 URL 编码。 例如:

https-proxy=https://use%21r:pas%2As@my.proxy:1234/foo

不要对用户名和密码之间的冒号 (:) 进行编码。

http-proxy

proxy

  • 默认值: null
  • 类型:url

用于传出 http 请求的代理。 如果设置了 HTTP_PROXY 或 http_proxy 环境变量,则底层请求库将遵循代理设置。

local-address

  • 默认值:undefined
  • 类型:IP 地址

连接到 npm 源时要使用的本地接口 IP 地址。

maxsockets

  • Default: networkConcurrency x 3
  • 类型:Number

每个注册源(由协议/主机/端口号组合而成)允许的最大连接数。

noproxy

  • 默认值: null
  • 类型:字符串

一个由逗号分割的域名字符串,表示不应该被使用的代理

SSL Settings

strict-ssl

  • 默认值:true
  • 类型:Boolean

通过 HTTPS 向源发出请求时是否进行 SSL 密钥验证。

另请参阅 ca 配置项。

Certificate Settings

ca

  • 默认值:npm CA 证书
  • 类型:String,Array 或 null

可信的用于注册源 SSL 链接的 CA 签名证书。 值应采用 PEM 格式(也称 “Base-64 encoded X.509 (.CER)”)。 示例:

ca="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"

设置为 null 时仅允许已知注册商,若指定 CA 证书将只信任指定的证书颁发机构。

通过指定一个证书数组,可以信任多个 CA:

ca[]="..."
ca[]="..."

更多信息可见 strict-ssl 设置

cafile

  • 默认值: null
  • 类型:路径

包含一个或多个 CA 证书的文件路径。 类似于 ca 设置,但允许多个CA, 此外, CA 信息将存储在一个文件中,而不是通过 CLI 指定。

<URL>:CA文件

定义访问指定注册源时使用的证书颁发机构文件的路径。 示例:

//registry.npmjs.org/:cafile=ca-cert.pem

<URL>:ca

添加于:v10.25.0

Define an inline Certificate Authority certificate for the specified registry. The value must be PEM-encoded, like the global ca setting, but it only applies to the matching registry URL.

//registry.example.com/:ca=-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----

cert

  • 默认值: null
  • 类型:字符串

访问注册源时传递的客户端证书。 值应为 PEM 格式(也称 "Base-64 encoded X.509 (.CER)")。 示例:

cert="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"

这不是证书文件的路径。

<URL>:cert

添加于:v10.25.0

Define an inline client certificate to use when accessing the specified registry. 示例:

//registry.example.com/:cert=-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----

<URL>:证书文件

定义访问指定注册源时使用的证书文件的路径。 示例:

//registry.npmjs.org/:certfile=server-cert.pem

key

  • 默认值: null
  • 类型:string

访问注册源时要传递的客户端密钥。 值应为 PEM 格式(也称 "Base-64 encoded X.509 (.CER)")。 示例:

key="-----BEGIN PRIVATE KEY-----\nXXXX\nXXXX\n-----END PRIVATE KEY-----"

It is not the path to a key file. Use <URL>&#58;keyfile if you need to reference the file system instead of inlining the key.

此设置包含敏感信息。 不要将其写入本地会提交到仓库的 .npmrc 文件。

<URL>:key

添加于:v10.25.0

Define an inline client key for the specified registry URL.

//registry.example.com/:key=-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----

<URL>:密钥文件

定义访问指定注册源时使用的客户端密钥文件的路径。 示例:

//registry.npmjs.org/:keyfile=server-key.pem