如何在Electron应用程序中安装和捆绑GraphicsMagick?

时间:2018-07-19 20:27:28

标签: imagemagick electron graphicsmagick

我正在构建一个电子应用程序,我需要GraphicsMagick。该文档建议您必须先将程序本身下载并安装,然后再与node.js结合使用。因此,仅安装npm软件包是不够的。

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

它甚至不像ffmpeg那样支持CLI命令,因此我不能只捆绑二进制文件并执行if( !get_user_meta( get_current_user_id(), 'user_nationality', true ) ) { $countries_obj = new WC_Countries(); $countries = $countries_obj->__get('countries'); $fields['billing']['user_nationality'] = array( 'type' => 'select', 'label' => __( 'Nationality', 'mangopay' ), 'options' => $countries, 'required' => true, ); }

之类的命令。

1 个答案:

答案 0 :(得分:1)

我想说的是,如果您不想通过软件包存储库分发应用程序,或者不想让用户事先安装GraphicsMagick,则必须将二进制文件与应用程序捆绑在一起。

它确实支持CLI命令,例如gm.exe convert test.jpg。如果您使用电子生成器进行包装,则必须添加配置以防止二进制文件被打包。

  "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) 
 } )

您可以下载Windows二进制文件,例如来自sourceforge host。安装这些二进制文件后,您必须将已安装的文件夹复制到您的应用程序中。