# @evocateur/libnpmaccess 中文文档

规范地址：https://npmcn.com/package/%40evocateur/libnpmaccess/

版本：3\.1\.2
npm 元数据更新时间：2022-05-14T17:32:47.069Z
中文译文更新时间：2026-11-14T02:23:14.463Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40evocateur/libnpmaccess
原文对照：https://npmcn.com/package/%40evocateur/libnpmaccess/?lang=original
项目主页：https://npmjs.com/package/@evocateur/libnpmaccess
源码仓库：https://github.com/evocateur/libnpmaccess

弃用说明：Package no longer supported\. Contact Support at https://www\.npmjs\.com/support for more info\.

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：64 kB，12 个文件
- TypeScript 类型：未声明
- 运行依赖：5 个
- 首次发布：2019-05-08T18:21:39.114Z
- 最新版本发布：2019-07-16T19:43:33.959Z
- 近 30 天下载量：676968（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 0 个）

## 中文简介

方案图书馆 `npm access` 命令

## 安装

```sh
npm install @evocateur/libnpmaccess
```

也可以使用：`pnpm add @evocateur/libnpmaccess`、`yarn add @evocateur/libnpmaccess`、`bun add @evocateur/libnpmaccess`

## README

# 自由访问 [![npm version](https://img.shields.io/npm/v/libnpmaccess.svg)](https://npm.im/libnpmaccess) [![license](https://img.shields.io/npm/l/libnpmaccess.svg)](https://npm.im/libnpmaccess) [![Travis](https://img.shields.io/travis/npm/libnpmaccess/latest.svg)](https://travis-ci.org/npm/libnpmaccess) [![AppVeyor](https://img.shields.io/appveyor/ci/zkat/libnpmaccess/latest.svg)](https://ci.appveyor.com/project/zkat/libnpmaccess) [![Coverage Status](https://coveralls.io/repos/github/npm/libnpmaccess/badge.svg?branch=latest)](https://coveralls.io/github/npm/libnpmaccess?branch=latest)

[`libnpmaccess`](https://github.com/npm/libnpmaccess) 是节点.js 提供 npm CLI 胆量的程序访问库 `npm access` 命令及其各种子命令。 这包括管理账户2FA, 列出软件包和权限,查看软件包合作者,并定义 用于用户、 orgs 和团队的软件包权限.

## 示例

```javascript
const access = require('libnpmaccess')

// List all packages @zkat has access to on the npm registry.
console.log(Object.keys(await access.lsPackages('zkat')))
```

## 目录

-   [安装](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-install)
-   [示例](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-example)
-   [捐款](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-contributing)
-   [API 密码](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-api)
    -   [访问选择](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-opts)
    -   [`public()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-public)
    -   [`restricted()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-restricted)
    -   [`grant()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-grant)
    -   [`revoke()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-revoke)
    -   [`tfaRequired()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-tfa-required)
    -   [`tfaNotRequired()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-tfa-not-required)
    -   [`lsPackages()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-ls-packages)
    -   [`lsPackages.stream()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-ls-packages-stream)
    -   [`lsCollaborators()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-ls-collaborators)
    -   [`lsCollaborators.stream()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-ls-collaborators-stream)

### 安装

`$ npm install libnpmaccess`

### 捐款

Npm团队热情欢迎捐款和项目参与!! 如果你想出力,你们可以做很多事! 这个 [贡献者 指南](https://npmcn.com/package/%40evocateur/libnpmaccess/CONTRIBUTING.md) 拥有所有你需要的信息 从所有从 报告错误以贡献整个新特性。 请不要犹豫 如果你愿意,跳进去,甚至问我们问题 如果事情不明.

预计该项目的所有参与者和维护者将遵循 [守则 行为](https://npmcn.com/package/%40evocateur/libnpmaccess/CODE_OF_CONDUCT.md),只是一般是 优于对方.

请参看 [更改日志](https://npmcn.com/package/%40evocateur/libnpmaccess/CHANGELOG.md) 还有项目历史细节.

黑客快乐!

### API 密码

#### `opts` 页:1 `libnpmaccess` 命令

`libnpmaccess` 用途 [`npm-registry-fetch`](https://npm.im/npm-registry-fetch)。 。 。 . 所有选项都直接传递到该库,所以请参考 [联合国 拥有 `opts` 文档](https://www.npmjs.com/package/npm-registry-fetch#fetch-options) 对于可以传递的选项.

对于匆忙的人来说,有几种选择:

-   `opts.token` - 可作为登记处的认证标志。 关于其他通过认证细节的方式,请参见n-r-f文件.
-   `opts.otp` - 某些行动需要检察官办公室的证明。 如果有的话 `libnpmaccess` 命令失败 `err.code === EOTP`请重试请求 `{otp: <2fa token>}`
-   `opts.Promise` - 如果你把这个传过来, 承诺会回来的 `libnpmaccess` 命令将使用这个“承诺”类。 例如: `{Promise: require('bluebird')}`

#### `> access.public(spec, [opts]) -> Promise`

`spec` 一定是个 [`npm-package-arg`](https://npm.im/npm-package-arg)\- 兼容 注册规格.

制作软件包 `spec` 大众.

##### 示例

```javascript
await access.public('@foo/bar', {token: 'myregistrytoken'})
// `@foo/bar` is now public
```

#### `> access.restricted(spec, [opts]) -> Promise`

`spec` 一定是个 [`npm-package-arg`](https://npm.im/npm-package-arg)\- 兼容 注册规格.

制作软件包 `spec` 私人/受限制.

##### 示例

```javascript
await access.restricted('@foo/bar', {token: 'myregistrytoken'})
// `@foo/bar` is now private
```

#### `> access.grant(spec, team, permissions, [opts]) -> Promise`

`spec` 一定是个 [`npm-package-arg`](https://npm.im/npm-package-arg)\- 兼容 注册规格. `team` 必须是完全合格的团队名称,在 `scope:team` 格式,有或无 `@` 前缀,且队伍必须是内部有效的队伍 范围. `permissions` 必须是其中之一 `'read-only'` 或者说 `'read-write'`。 。 。 .

赠款 `read-only` 或者说 `read-write` 给一个团队的某个软件包的权限.

##### 示例

```javascript
await access.grant('@foo/bar', '@foo:myteam', 'read-write', {
  token: 'myregistrytoken'
})
// `@foo/bar` is now read/write enabled for the @foo:myteam team.
```

#### `> access.revoke(spec, team, [opts]) -> Promise`

`spec` 一定是个 [`npm-package-arg`](https://npm.im/npm-package-arg)\- 兼容 注册规格. `team` 必须是完全合格的团队名称,在 `scope:team` 格式,有或无 `@` 前缀,且队伍必须是内部有效的队伍 范围. `permissions` 必须是其中之一 `'read-only'` 或者说 `'read-write'`。 。 。 .

从某个团队中删除对软件包的访问.

##### 示例

```javascript
await access.revoke('@foo/bar', '@foo:myteam', {
  token: 'myregistrytoken'
})
// @foo:myteam can no longer access `@foo/bar`
```

#### `> access.tfaRequired(spec, [opts]) -> Promise`

`spec` 一定是个 [`npm-package-arg`](https://npm.im/npm-package-arg)\- 兼容 注册规格.

因此,发布或管理软件包需要使用 2FA 令牌 完成操作.

##### 示例

```javascript
await access.tfaRequires('lodash', {token: 'myregistrytoken'})
// Publishing or changing dist-tags on `lodash` now require OTP to be enabled.
```

#### `> access.tfaNotRequired(spec, [opts]) -> Promise`

`spec` 一定是个 [`npm-package-arg`](https://npm.im/npm-package-arg)\- 兼容 注册规格.

禁用包级 2FA 要求 `spec`。请注意,你将需要 传入 `otp` 符号在 `opts` 为了完成这次行动.

##### 示例

```javascript
await access.tfaNotRequired('lodash', {otp: '123654', token: 'myregistrytoken'})
// Publishing or editing dist-tags on `lodash` no longer requires OTP to be
// enabled.
```

#### `> access.lsPackages(entity, [opts]) -> Promise`

`entity` 必须是有效的或用户名称,或完全合格的团队名称 输入 `scope:team` 格式,有或无 `@` 前缀.

列出用户、 org 或团队可访问的软件包, 以及相应的 权限。 无法进入的软件包 列出.

为了消除用户和Orgs之间的矛盾,两个请求最终可能会是: 上市时使用.

关于这些结果的流出版本,见 [`access.lsPackages.stream()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-ls-package-stream)。 。 。 .

##### 示例

```javascript
await access.lsPackages('zkat', {
  token: 'myregistrytoken'
})
// Lists all packages `@zkat` has access to on the registry, and the
// corresponding permissions.
```

#### `> access.lsPackages.stream(scope, [team], [opts]) -> Stream`

`entity` 必须是有效的或用户名称,或完全合格的团队名称 输入 `scope:team` 格式,有或无 `@` 前缀.

流出用户、 org 或团队可以访问的软件包, 并有相应的 权限,每个流项格式化为 `[packageName, permissions]`。访问符没有访问权限的软件包将不会 列出.

为了消除用户和Orgs之间的矛盾,两个请求最终可能会是: 上市时使用.

返回的流是有效的 `asyncIterator`。 。 。 .

##### 示例

```javascript
for await (let [pkg, perm] of access.lsPackages.stream('zkat')) {
  console.log('zkat has', perm, 'access to', pkg)
}
// zkat has read-write access to eggplant
// zkat has read-only access to @npmcorp/secret
```

#### `> access.lsCollaborators(spec, [user], [opts]) -> Promise`

`spec` 一定是个 [`npm-package-arg`](https://npm.im/npm-package-arg)\- 兼容 注册规格. `user` 必须是有效的用户名,有或没有 `@` 前缀.

列出某个软件包的访问权限。 只显示权限 对于您至少可以读取的软件包。 若为 `user` 被传入 列表仅过滤到团队 _那个_ 用户恰好属于.

关于这些结果的流出版本,见 [`access.lsCollaborators.stream()`](https://npmcn.com/package/%40evocateur/libnpmaccess/#readme-ls-collaborators-stream)。 。 。 .

##### 示例

```javascript
await access.lsCollaborators('@npm/foo', 'zkat', {
  token: 'myregistrytoken'
})
// Lists all teams with access to @npm/foo that @zkat belongs to.
```

#### `> access.lsCollaborators.stream(spec, [user], [opts]) -> Stream`

`spec` 一定是个 [`npm-package-arg`](https://npm.im/npm-package-arg)\- 兼容 注册规格. `user` 必须是有效的用户名,有或没有 `@` 前缀.

流出特定软件包的访问权限,每个条目都输入 `[user, permissions]` 格式。 只显示您的软件包的权限 至少读取权限。 若为 `user` 被传送,名单只过滤给团队 _那个_ 用户恰好属于.

返回的流是有效的 `asyncIterator`。 。 。 .

##### 示例

```javascript
for await (let [usr, perm] of access.lsCollaborators.stream('npm')) {
  console.log(usr, 'has', perm, 'access to npm')
}
// zkat has read-write access to npm
// iarna has read-write access to npm
```

## 常见问题

### @evocateur/libnpmaccess 是什么？

方案图书馆 npm access 命令注意：该包已被作者标记为弃用——Package no longer supported\. Contact Support at https://www\.npmjs\.com/support for more info\.

### 如何安装 @evocateur/libnpmaccess？

在项目目录运行 npm install @evocateur/libnpmaccess，或使用 pnpm add / yarn add / bun add。

### @evocateur/libnpmaccess 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/evocateur\_\_libnpmaccess 是否存在。

### @evocateur/libnpmaccess 可以商用吗？

@evocateur/libnpmaccess 使用 ISC 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @evocateur/libnpmaccess 的下载量有多少？

根据 npm 官方下载统计，@evocateur/libnpmaccess 在 2026/10/14 – 2026/11/12 这 30 天内被下载 676,968 次，日均约 22,566 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @evocateur/libnpmaccess 还在维护吗？

最新版本 3\.1\.2 发布于 2019/07/17（7 年前）；至今共发布 4 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/05/09。作者已将其标记为弃用，新项目建议寻找替代方案。

