canonical/snapcraft
GitHub: canonical/snapcraft
Snapcraft 是 Canonical 开发的命令行打包工具,用于将应用程序及其依赖打包成 snap 格式,实现跨 Linux 发行版和 IoT 设备的统一分发与自动更新。
Stars: 1264 | Forks: 514
# Snapcraft
[][snapcraft-site]
[][rtd-latest]
[][gha-spread]
[][codecov-status]
[][ruff-site]
**Snapcraft** 是一款命令行构建工具,用于以 snap 容器格式打包和分发软件及
应用程序。它通过将软件的所有库捆绑到容器本身,解决了依赖项管理和
架构支持的问题,并为开发者提供了一种为
所有主流 Linux 发行版和 IoT 设备打包任何应用、程序、工具包或库的方法。
## 基本用法
Snap 的构建配置以简单的语言存储在名为
`snapcraft.yaml` 的项目文件中,这使其易于作为新的包格式添加到您现有的代码库中。
从任何软件项目的代码库根目录开始,Snapcraft 会使用以下命令创建一个最小的
`snapcraft.yaml`:
```
snapcraft init
```
在将项目的所有构建和运行时详细信息添加到项目文件后,使用以下命令将您的项目捆绑成
一个 snap:
```
snapcraft pack
```
您的项目可以在公共和私有应用商店(包括 Snap
Store)上注册:
```
snapcraft register
```
Snap 版本和修订版,包括并行发布,通过以下命令发布到商店:
```
snapcraft upload
```
如果您有兴趣了解更多关于 Snapcraft 命令以及如何编写
项目文件的信息,请尝试[构建您的第一个
snap](https://documentation.ubuntu.com/snapcraft/stable/tutorials/craft-a-snap)。
## 安装
Snapcraft 可在所有主流 Linux 发行版、Windows 和 macOS 上使用。
Snapcraft 本身作为 snap 拥有一流的支持。在支持 snap 的系统上,您可以通过命令行安装它:
```
sudo snap install snapcraft --classic
```
为了完成安装,您需要一个额外的 Linux 容器工具。Snapcraft 也可以
作为传统软件包安装在许多流行的 Linux 仓库中。如果您
需要其中任何一方面的帮助,文档涵盖了如何[设置
Snapcraft](https://documentation.ubuntu.com/snapcraft/stable/how-to/setup/set-up-snapcraft)。
## 文档
[Snapcraft 文档](https://documentation.ubuntu.com/snapcraft/stable)
提供了关于构建项目文件、调试 snap、解析接口、命令参考等完整过程的指导和学习材料。
## 许可证和版权
Snapcraft 基于 [GPL-3.0 许可证](LICENSE)发布。
© 2015-2025 Canonical Ltd.
标签:IoT, NIDS, Snap, Snapcraft, YAML, 依赖管理, 包管理器, 安全库, 容器化, 应用商店, 应用程序分发, 开源, 开源框架, 打包工具, 持续集成, 沙盒, 物联网, 统一API, 软件部署, 逆向工具