npm-access
设置已发布包的权限级别
概要
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 ls-packages [<user>|<scope>|<scope:team>]
npm access ls-collaborators [<package> [<user>]]
npm access edit [<package>]
描述
用于设置私有包的权限。
对于所有子命令,如果没有指定包名,则以当前工作目录中的包作为指定包对象。
public / restricted: 对包设置可公开或限制访问。
grant / revoke: 添加或删除用户和团队对包是read或read-write的权限。
ls-packages: 显示用户或团队能访问的包及其权限,read公用包除外(不会打印整个注册表列表)。
> npm access ls-packages
{
"npm-demos-test": "read-write",
}
- ls-collaborators:显示所有对包有访问权限的用户。展示的用户对包至少具有read权限。
> npm access ls-collaborators npm-demos-test
{
"xiaoxiaoxiao": "read-write"
}
- edit:若设置对包的一次可访问权限,则使用 $EDITOR。
细节
npm access总是直接在当前注册表上运行,若想重设注册表,命令行加上--registry=< registry url >。
Unscoped的包总是被公开的。
Scoped的包默认为受限制的(restricted),若您想将其公开发布,可以这么操作npm publish --access=public,或者在发布包后,再将包访问权限设置为公开 npm access public。
您必须对包拥有设置权利,您应该是如下身份:
您是Unscoped或Scoped的包的所有者。
您是拥有包权限的团队的成员。
您已被授予包的读写权限,无论是作为团队成员还是直接作为所有者。
如果您启用了双重身份验证,则在--otp更改访问权限时,您必须传入一个otp 。
如果您的帐户未付款,则除非您使用--access=public,否则发布有Scoped的包会以失败告终。
团队和团队成员的管理是通过npm team命令完成的。