imagemagick - 如何在 Electron 应用程序中安装和捆绑 GraphicsMagick?
问题描述
我正在构建一个电子应用程序,我需要GraphicsMagick。文档建议您必须先下载并安装程序本身,然后才能将其与 node.js 一起使用。所以仅仅安装 npm 包是不够的。
那我该怎么做呢?我是否真的必须让我的 Electron 应用程序下载二进制文件(或将其与二进制文件捆绑在一起),然后在第一个应用程序启动时安装该程序才能使用它?
它甚至不支持像 ffmpeg 这样的 CLI 命令,所以我不能只捆绑二进制文件并执行命令gm.exe convert test.jpg
解决方案
我会说是的,如果您不想通过包存储库分发您的应用程序或要求您的用户之前安装 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 二进制文件。安装这些二进制文件后,您必须将安装的文件夹复制到您的应用程序。
推荐阅读
- python - 收敛到相同种群的遗传算法的交叉
- python - 如何获得上述人物的 3D 图?
- c# - ASP.NET Core 5.0 - 带颜色的全尺寸列
- mysql - 我可以根据按值分组为我的计数添加条件吗
- salesforce - docusign 签名的信封在 Salesforce 中保存了两次
- c# - DataTable 到 Html 表在 Gmail 上作为邮件发送
- kotlin - 是否可以使用相同的协程?
- python - 基于时间间隔在熊猫中使用随机基准时间创建组
- canvas - 我们可以使用fabric js改变画布的形状吗
- three.js - 如何使用 fbxtogltf 从 fbx 导出具有透明材料(alpha)的 glb?