首页 > 解决方案 > 如何在 Electron 应用程序中安装和捆绑 GraphicsMagick?

问题描述

我正在构建一个电子应用程序,我需要GraphicsMagick。文档建议您必须先下载并安装程序本身,然后才能将其与 node.js 一起使用。所以仅仅安装 npm 包是不够的。

那我该怎么做呢?我是否真的必须让我的 Electron 应用程序下载二进制文件(或将其与二进制文件捆绑在一起),然后在第一个应用程序启动时安装该程序才能使用它?

它甚至不支持像 ffmpeg 这样的 CLI 命令,所以我不能只捆绑二进制文件并执行命令gm.exe convert test.jpg

标签: imagemagickelectrongraphicsmagick

解决方案


我会说是的,如果您不想通过包存储库分发您的应用程序或要求您的用户之前安装 GraphicsMagick,您必须将二进制文件与您的应用程序捆绑在一起。

它确实支持 CLI 命令,例如gm.exe convert test.jpg. 如果您使用 electron-builder 进行打包,则必须添加配置以防止二进制文件被 asar 打包:

  "build": {
    "asarUnpack": [
      "path/to/your/GraphicsMagick/binary/**"
    ],

从电子你可以调用程序,例如

const child_process = require('child_process')
child_process.execFile('relative/path/to/your/gm.exe', ['version'], 
 (error, stdout, stderr) => { 
   console.log(stdout) 
 } )

您可以从例如sourceforge 主机下载 windows 二进制文件。安装这些二进制文件后,您必须将安装的文件夹复制到您的应用程序。


推荐阅读