@hoardodile/7z-bin
v1.1.3
Published
7-Zip 26.02 full binaries (7z.exe+7z.dll / 7zz, RAR-capable) for the archive runtime, downloaded from GitHub Releases at install time (ffmpeg-static style).
Maintainers
Readme
@hoardodile/7z-bin
7-Zip 全量二进制(7z.exe + 7z.dll / 7zz,含 RAR 解码)的 npm 包。包体只有几 KB,二进制在安装时从 GitHub Releases 下载——官方 7-zip.org 下载不稳定。
平台
| 平台 | 二进制 | | --- | --- | | win32-x64 | 7z.exe + 7z.dll | | win32-ia32 | 7z.exe + 7z.dll | | win32-arm64 | 7z.exe + 7z.dll | | darwin-x64 | 7zz | | darwin-arm64 | 7zz | | linux-x64 | 7zz | | linux-ia32 | 7zz | | linux-arm64 | 7zz | | linux-arm | 7zz |
Windows 为全量构建(RAR 支持)。不支持的平台返回 null。
使用
const sevenZip = require("@hoardodile/7z-bin") // 路径或 null7Z_BIN_PATH— 覆盖返回的路径。7Z_BINARIES_URL— 覆盖下载源。- 安装时校验 SHA-256(
assets.json)并要求7z i输出含 "Rar5"。
运行时下载(Electron)
不打包二进制:让应用按需从 release 下载、校验并解压:
https://github.com/hoardodile/7z-bin/releases/download/v<版本>/<平台>.tar.gz- 免鉴权;内容为
7z.exe+7z.dll(Windows)或7zz(macOS/Linux)。 - 校验:包内
assets.json,或 release 上的SHA256SUMS.txt。 - 解压:
tar -xf。
升级 7-Zip / 发版
- 更新
scripts/build-assets.mjs中的VERSION和OFFICIAL_SHASUMS - 提升
package.json版本号(决定 release tag) - 运行
npm run build:assets(幂等;--skip-upload只本地构建) - 提交(至少
assets.json+ 版本号)、推送,然后推送v<version>tag。 tag 会触发 release 工作流:构建/上传资产到 GitHub release,并自动发布 npm(Trusted Publishing / OIDC —— Actions 中不存任何 registry token)。
npm 侧一次性设置(每个包一次,npm >= 11.11,owner 账号,需一次 2FA 验证):
npm trust github @hoardodile/7z-bin --file release.yml --repo hoardodile/7z-bin --allow-publish注意:bump 提交触发的 main CI 可能在 release 工作流上传完资产前启动, install/verify 任务会因 404 瞬时失败——待 release 工作流结束后重跑即可:
gh run rerun --repo hoardodile/7z-bin --failed <run-id>许可
脚本 GPL-3.0。7-Zip 二进制版权归 Igor Pavlov(LGPL;RAR 部分受 unRAR 限制),不随包发布。
