我正在创建 Dart 语言 sdk 的 snap 包。这是 snapcraft.yaml
name: dart-sdk
version: 2.0.0
summary: Dart Language SDK
description: This includes the Dart SDK
confinement: classic
parts:
dart-sdk:
plugin: dump
source: https://storage.googleapis.com/dart-archive/channels/stable/release/2.0.0/sdk/dartsdk-linux-x64-release.zip
build-packages:
- wget
- unzip
安装后,它会进入 /snap/dart-sdk/current/dart-sdk,但该目录需要 root 权限才能访问。如何制作 snap 包,以便在安装时,sdk 目录具有用户权限而不是 root 权限?
答案1
不,这违背了 snap 的初衷。所以 snap 不允许动态更改应用程序。
另外,我认为将二进制档案转换为快照没有任何好处,正如您所打算的那样。
无论如何,您可以覆盖
prepare:
并提取该二进制档案。因此它被捕捉了。正确的方法是从源包构建 snap。这样你就可以确定它适用于任何平台。顺便说一句,
snapcraft
它没有很好的文档记录,最好从snapd
源代码中学习并snapcraft.yaml
在开源存储库中重新提交。