@electron/fuses

中文文档
2.1.3发布于 2026/06/30MITES Module零依赖构建来源已验证近 30 天下载 3137.1万

翻转电动引信并自定义您的电动包件

中文使用文档
文档目录5 节
  1. 使用量
  2. Via Java 脚本
  3. 从命令行
  4. 苹果硅
  5. 新引信

@ electron/ fuses (帮助)

翻转 电子引信 并自定义您已包装的 Electron 构造

Test npm version API docs

使用量

Via Java 脚本

import { flipFuses, FuseVersion, FuseV1Options } from '@electron/fuses';

// Call this after your app has been packaged (all files in place) but
// before code signing. This fits naturally in an electron-builder
// `afterPack` hook or an electron-forge `postPackage`/`packageAfterCopy` hook.
await flipFuses(
  require('electron'), // Returns the path to the electron binary
  {
    version: FuseVersion.V1,
    [FuseV1Options.RunAsNode]: false, // Disables ELECTRON_RUN_AS_NODE
    [FuseV1Options.EnableCookieEncryption]: true, // Enables cookie encryption
    [FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false, // Disables the NODE_OPTIONS environment variable
    [FuseV1Options.EnableNodeCliInspectArguments]: false, // Disables the --inspect and --inspect-brk family of CLI options
    [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true, // Enables validation of the app.asar archive on macOS
    [FuseV1Options.OnlyLoadAppFromAsar]: true, // Enforces that Electron will only load your app from "app.asar" instead of its normal search paths
    [FuseV1Options.LoadBrowserProcessSpecificV8Snapshot]: true, // Loads V8 Snapshot from `browser_v8_context_snapshot.bin` for the browser process
    [FuseV1Options.GrantFileProtocolExtraPrivileges]: true, // Grants the file protocol extra privileges
    [FuseV1Options.WasmTrapHandlers]: true, // Enables V8 signal handlers to trap Out of Bounds memory access from WebAssembly
  },
);

API 的全用法见 API 文档。 。 。 .

从命令行

$ npx @electron/fuses read --app /Applications/Foo.app
$ npx @electron/fuses write --app /Applications/Foo.app <...key=on/off>

苹果硅

对于 arm64 macOS 构建您的应用程序, 您需要通过 resetAdHocDarwinSignature: true 页:1 flipFuses 方法 如果你在翻开保险丝后没有立即在您的应用程序上签名。 否则,该应用程序将拒绝与 代码签名验证错误 。 这是苹果硅设备的安全措施.

import { flipFuses, FuseVersion, FuseV1Options } from '@electron/fuses';

await flipFuses(
  require('electron'),
  {
    version: FuseVersion.V1,
    resetAdHocDarwinSignature: targetPlatform === 'darwin' && targetArch === 'arm64',
    [FuseV1Options.RunAsNode]: false,
  },
);

新引信

如果你想保证在升级电子大版本时提供新引信的配置, 您可以设置 strictlyRequireAllFuses 选项到 true。 。 。 .

这很难失败的建筑 如果你在版本 @electron/fuses 没有配置 对于电子二进制中的每个引信, 选项您正在瞄准, 或者如果你不提供配置 在电子二进制中有一个特定的导火线.

import { flipFuses, FuseVersion, FuseV1Options } from '@electron/fuses';

await flipFuses(
  require('electron'),
  {
    version: FuseVersion.V1,
    strictlyRequireAllFuses: true,
    [FuseV1Options.RunAsNode]: false,
  },
);

版本与发布记录

@electron/fuses 共发布 20 个版本,首次发布于 2021/04/23;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.1.3latest2026/06/304 个月前
2.1.22026/06/055 个月前
2.1.12026/03/277 个月前
2.1.02026/02/278 个月前
2.0.02025/08/011.3 年前
1.8.02024/03/262 年前

关于 @electron/fuses 的常见问题

@electron/fuses 是什么?

翻转电动引信并自定义您的电动包件

如何安装 @electron/fuses?

在项目目录运行 npm install @electron/fuses,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 electron-fuses,可以用 npx electron-fuses 直接运行。

@electron/fuses 支持 TypeScript 吗?

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

@electron/fuses 支持 ESM 还是 CommonJS?

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

@electron/fuses 需要什么版本的 Node.js?

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

@electron/fuses 可以商用吗?

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

@electron/fuses 的下载量有多少?

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

@electron/fuses 还在维护吗?

最新版本 2.1.3 发布于 2026/06/30(4 个月前);至今共发布 20 个版本,其中过去 12 个月发布了 4 个;首次发布于 2021/04/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。