NPM dist安装包中包含的二进制可执行文件

时间:2018-01-20 16:58:50

标签: node.js svn npm

是否可以在NPM包中包含二进制可执行文件?我正在努力在macOS上这样做。

我正在研究使用SVN的电子应用程序。使用svn-spawn包我可以与svn通信,如果它安装在机器上。但是,我不想单独安装SVN和我的应用程序。

由于SVN作为单个可执行文件 - Windows上的svn.exe或macOS上的svn,我可以编辑node_modules / svn-spawn / lib / svn.js中的以下块

var Client = function(options) {
    this.option({
        program: '<path_to_svn>/svn.exe'
    }).option(options);
};

打包后:

  • 适用于Windows(即使在卸载svn后 - 意味着svn成为应用程序的一部分)
  • 在svn仍在目录
  • 中时适用于macOS
  • 在删除svn时无法在macOS上运行

在npm安装中包含类似可执行文件的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

对于有同样问题的人 - 这个步骤有助于: bundling precompiled binary into electron app

您可以通过更新package.json

来复制文件
  "build": {
    "extraFiles": [
      {
        "from": "resources/${os}",
        "to": "Resources/bin",
        "filter": ["**/*"]
      }
    ],

然后从脚本中引用此文件。