# @alienkarma/archiver 中文文档

规范地址：https://npmcn.com/package/%40alienkarma/archiver/

版本：7\.0\.1-fork\.6
npm 元数据更新时间：2026-07-28T07:14:38.609Z
中文译文更新时间：2026-11-06T20:59:06.028Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：41.1 kB，10 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=18
- 运行依赖：11 个
- 首次发布：2026-02-20T06:30:37.447Z
- 最新版本发布：2026-07-28T07:14:38.478Z
- 近 30 天下载量：2349（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 6 个）

## 中文简介

用于生成归档的流媒体界面

## 安装

```sh
npm install @alienkarma/archiver
```

也可以使用：`pnpm add @alienkarma/archiver`、`yarn add @alienkarma/archiver`、`bun add @alienkarma/archiver`

## README

# 存档器

用于生成归档的流媒体界面

访问 [API 文档](https://www.archiverjs.com/) 用于列出所有可用的方法.

## 安装

```bash
npm install archiver --save
```

## 快速启动

```js
import fs from "fs";
import { ZipArchive } from "archiver";

// create a file to stream archive data to.
const output = fs.createWriteStream(__dirname + "/example.zip");
const archive = new ZipArchive({
  zlib: { level: 9 }, // Sets the compression level.
});

// listen for all archive data to be written
// 'close' event is fired only when a file descriptor is involved
output.on("close", function () {
  console.log(archive.pointer() + " total bytes");
  console.log(
    "archiver has been finalized and the output file descriptor has closed.",
  );
});

// This event is fired when the data source is drained no matter what was the data source.
// It is not part of this library but rather from the NodeJS Stream API.
// @see: https://nodejs.org/api/stream.html#stream_event_end
output.on("end", function () {
  console.log("Data has been drained");
});

// good practice to catch warnings (ie stat failures and other non-blocking errors)
archive.on("warning", function (err) {
  if (err.code === "ENOENT") {
    // log warning
  } else {
    // throw error
    throw err;
  }
});

// good practice to catch this error explicitly
archive.on("error", function (err) {
  throw err;
});

// pipe archive data to the file
archive.pipe(output);

// append a file from stream
const file1 = __dirname + "/file1.txt";
archive.append(fs.createReadStream(file1), { name: "file1.txt" });

// append a file from string
archive.append("string cheese!", { name: "file2.txt" });

// append a file from buffer
const buffer3 = Buffer.from("buff it!");
archive.append(buffer3, { name: "file3.txt" });

// append a file
archive.file("file1.txt", { name: "file4.txt" });

// append files from a sub-directory and naming it `new-subdir` within the archive
archive.directory("subdir/", "new-subdir");

// append files from a sub-directory, putting its contents at the root of archive
archive.directory("subdir/", false);

// append files from a glob pattern
archive.glob("file*.txt", { cwd: __dirname });

// finalize the archive (ie we are done appending files but streams have to finish yet)
// 'close', 'end' or 'finish' may be fired right after calling this method so register to them beforehand
archive.finalize();
```

## 格式

装有外箱支持的档案船 TAR和ZIP档案.

## 常见问题

### @alienkarma/archiver 是什么？

用于生成归档的流媒体界面

### 如何安装 @alienkarma/archiver？

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

### @alienkarma/archiver 支持 TypeScript 吗？

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

### @alienkarma/archiver 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @alienkarma/archiver 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @alienkarma/archiver 可以商用吗？

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

### @alienkarma/archiver 的下载量有多少？

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

### @alienkarma/archiver 还在维护吗？

最新版本 7\.0\.1-fork\.6 发布于 2026/07/28（3 个月前）；至今共发布 6 个版本，其中过去 12 个月发布了 6 个；首次发布于 2026/02/20。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

