阅读(132) (9)

npm 访问权限 access

2021-09-06 10:10:06 更新

设置已发布包的访问权限。

概要

npm access public [<package>]
npm access restricted [<package>]


npm access grant <read-only|read-write> <scope:team> [<package>]
npm access revoke <scope:team> [<package>]


npm access 2fa-required [<package>]
npm access 2fa-not-required [<package>]


npm access ls-packages [<user>|<scope>|<scope:team>]
npm access ls-collaborators [<package> [<user>]]
npm access edit [<package>]

用于设置私有包的访问控制。

对于所有子命令,如果没有包名称传递给子命令,npm access将对当前工作目录中的包执行操作。

  • public/restricted:将包设置为可公开访问或者受限。
  • grant/revoke:添加或者删除用户和团队对包具有只读或读写访问权限的能力。
  • 2fa-required/2fa-not-required:配置包是否要求发布它的任何人在其账户上启用双因素身份验证。
  • ls-packages:显示用户或团队能够访问的所有包以及访问级别,只读公共包除外(它不会打印整个注册表列表)。
  • edit:使用$EDITOR一次设置包的访问权限。

详情

npm access始终直接在当前注册表上运行,可使用--registry=<registry url>从命令行进行配置。

无作用域的包总是公开的。

范围包默认为受限,但您可以使用npm publish --access=public将它们发布为公共,或者在初始发布后使用npm access public将它们的访问权限设置为公共。

您必须具有设置包访问权限的权限:

  • 您是无作用域或作用域包的所有者。
  • 您是拥有范围的团队的成员。
  • 您已获得包的读写权限,无论是作为团队成员还是直接作为所有者。

如果启用了双因素身份验证,则在进行访问更改时必须使用--otp传递otp

如果您的帐户未付款,则除非您使用--access=public,否则尝试发布范围包将失败并显示 HTTP 402 状态代码(逻辑上足够)。

团队和团队成员的管理是通过npm team命令完成的。

配置

registry 注册表

  • 默认值:https://registry.npmjs.org/
  • 类型:URL

npm 注册表的基本 URL。

otp 一次性密码

  • 默认值:null
  • 类型:null 或者 String

这是来自两因素身份验证器的一次性密码。使用npm access访问发布或鞥更改包权限时需要它。

如果未设置,并且注册表相应失败并质问一次性密码,npm 将在命令行上提示输入密码。