Snapcraft 指南 (Ubuntu 软件中心 & 更多)

    与更广泛的 Linux 社区一起, 规范旨在解决 snapcraft 项目中的许多常见的软件安装问题。 Snaps 是容器化的软件包, 包括所需的依赖项、自动更新和对所有主要 Linux 发行版的工作, 而无需进行系统修改。

    创建 .snap 文件有三种方法:

    1) 使用 或 electron-builder, 与 snap 支持的两个工具都不在该框中。 这是最简单的选择。 2) 使用 electron-installer-snap, 它采用 electron-packager 的输出。 3) 使用已经创建的 .deb 包。

    In all cases, you will need to have the snapcraft tool installed. We recommend building on Ubuntu 16.04 (or the current LTS).

    该模块的工作原理与类似 因为它的范围仅限于构建捕捉包。 你可以这样安装:

    1. npm install --save-dev electron-installer-snap

    打包应用程序使用 electron-packager (或类似工具)。 Make sure to remove node_modules that you don’t need in your final application, since any module you don’t actually need will increase your application’s size.

    结构输出应该看起来大致像这样:

    From a terminal that has snapcraft in its PATH, run electron-installer-snap with the only required parameter --src, which is the location of your packaged Electron application created in the first step.

    1. npx electron-installer-snap --src=out/myappname-linux-x64

    Snapcraft is capable of taking an existing .deb file and turning it into a .snap file. The creation of a snap is configured using a snapcraft.yaml file that describes the sources, dependencies, description, and other core building blocks.

    If you do not already have a package, using electron-installer-snap might be an easier path to create snap packages. However, multiple solutions for creating Debian packages exist, including , electron-builder or .

    For more information on the available configuration options, see the documentation on the snapcraft syntax. Let’s look at an example:

    1. name: myApp
    2. version: '2.0.0'
    3. summary: A little description for the app.
    4. description: |
    5. You know what? This app is amazing! It does all the things
    6. for you. Some say it keeps you young, maybe even happy.
    7. grade: stable
    8. parts:
    9. slack:
    10. plugin: dump
    11. source: my-deb.deb
    12. source-type: deb
    13. after:
    14. - desktop-gtk3
    15. stage-packages:
    16. - libasound2
    17. - libnotify4
    18. - libnspr4
    19. - libnss3
    20. - libpulse0
    21. - libxss1
    22. - libxtst6
    23. plugin: dump
    24. source: files/
    25. prepare: |
    26. chmod +x bin/electron-launch
    27. apps:
    28. myApp:
    29. command: bin/electron-launch $SNAP/usr/lib/myApp/myApp
    30. desktop: usr/share/applications/myApp.desktop
    31. # Correct the TMPDIR path for Chromium Framework/Electron to ensure
    32. # libappindicator has readable resources.
    33. environment:
    34. TMPDIR: $XDG_RUNTIME_DIR

    As you can see, the snapcraft.yaml instructs the system to launch a file called electron-launch. In this example, it passes information on to the app’s binary:

    1. apps:
    2. myApp:
    3. # Correct the TMPDIR path for Chromium Framework/Electron to ensure
    4. # libappindicator has readable resources.
    5. desktop: usr/share/applications/desktop.desktop