5个稳定版本
新 2.4.1 | 2024年8月22日 |
---|---|
2.3.0 | 2024年6月24日 |
2.2.1 | 2024年4月15日 |
2.2.0 | 2024年4月5日 |
2.1.1 |
|
49 / 开发工具
6,230 每月下载次数
1.5MB
9K SLoC
Komac - 另一个WinGet清单创建工具
Komac是一个高级命令行界面(CLI),旨在为WinGet社区仓库创建清单。
Komac既快如闪电 🔥 又占用内存极低,在我的机器上仅使用约3.5MB的内存。
安装
Komac是跨平台的,为Windows、Linux和macOS构建了二进制文件。
所有平台
如果您已安装cargo,则可以编译Rust以用于任何平台
cargo install --locked komac
Komac还支持cargo-binstall
cargo binstall komac
夜间版本
每个提交都构建的夜间版本可在此处找到。这些版本对于调试或需要最新功能和修复非常有用。
Windows
便携式EXE和安装程序都可在发布中找到。
WinGet
winget install komac
Scoop
scoop install komac
Linux
便携式二进制文件可在发布中找到。Debian (.deb
) 和 Red Hat (.rpm
) 安装程序也提供。
macOS
macOS的便携式二进制文件可在发布中找到。
Homebrew
brew install russellbanks/tap/komac
GitHub令牌
Komac 目前只能使用经典令牌。虽然 Komac 可以完全使用细粒度令牌创建清单和提交,但它无法向 winget-pkgs 创建拉取请求。随着细粒度令牌的改进,这可能会改变。请参阅 https://github.com/russellbanks/Komac/issues/310。
经典
具有 public_repo
范围的经典令牌。
命令
命令 | 描述 | 用法 |
---|---|---|
新建 | 从头创建一个包 | 新 |
更新 | 更新 winget-pkgs 中的现有包 | 更新 |
删除 | 从 winget-pkgs 中删除一个版本 | 删除 |
同步分支 | 将 winget-pkgs 的您的分支同步到 microsoft/winget-pkgs | sync-fork , sync |
分支清理 | 删除已合并或关闭拉取请求到 winget-pkgs 的分支 | 清理 |
列出版本 | 列出给定包的所有版本 | list-versions , list |
分析 | 分析文件并输出关于它的信息。用于调试 | 分析 |
令牌更新 | 更新存储的 GitHub OAuth 令牌 | 令牌更新 |
令牌删除 | 删除存储的 GitHub OAuth 令牌 | 令牌删除 |
完成 | 输出给定壳的自动补全脚本 | complete , autocomplete |
使用新版本更新现有包
komac update Package.Identifier --version 1.2.3 --urls https://www.firstUrl.com https://www.secondUrl.com --submit
参数 | 用法 | 注意 |
---|---|---|
包标识符 | komac update Package.标识符 |
|
版本 | --version |
|
URLs | --urls |
URLs 由空格分隔 |
自动提交 | --submit |
|
令牌(如果没有存储的话) | --token |
Komac 将检查 GITHUB_TOKEN 环境变量 |
Komac 与其他工具 🏆
虽然其他清单创建工具为 winget-pkgs 中的清单奠定了坚实的基础,但它们的开发速度明显较慢,并且缺乏 Komac 所带来的高级检测功能。
Komac | WingetCreate | YamlCreate | |
---|---|---|---|
参数 | ✅ | ✅ | ❌ |
下载进度条 & ETA | ✅ | ❌ | ❌ |
完全跨平台 | ✅ | ❌ | 有限 |
无 Git 也能工作 | ✅ | ✅ | ❌ |
完全 Inno Setup 值检索 | ✅ | ❌ | ❌ |
完全 MSI 值检索 | ✅ | 部分 | 部分 |
Linux & macOS MSI 支持 | ✅ | ❌ | ❌ |
完全 MSIX 值检索 | ✅ | 部分 | 部分 - https://github.com/Trenly/winget-pkgs/issues/180 |
从 GitHub 获取信息 | ✅ | ✅ | ❌ |
格式化 GitHub 版本说明检索 | ✅ | ❌ | ❌ |
发布日期识别 | ✅ | ❌ | ❌ |
无遥测 | ✅ | ⭕ [^1] | ✅ |
完全独立(无需 winget-pkgs 克隆) | ✅ | ✅ | ❌ |
Inno setup 检测 | ✅ [^2] | ✅ | ✅ [^3] |
Nullsoft 检测 | ✅ [^2] | ✅ | ✅ [^3] |
Burn 安装程序检测 | ✅ [^2] | ✅ | 可选功能(默认不启用,因为处理速度慢) |
编程语言 | Rust | C# | PowerShell |
[^1]: WingetCreate 默认启用遥测。使用 wingetcreate settings
手动禁用遥测。[^2]: 自 Komac v2 以来,对于 Inno、Nullsoft 和 Burn 安装程序的检测更加准确。[^3]: 该逻辑是由我贡献的 :) 查看我已打开的请求 YamlCreate 此功能的 问题。
使用 GitHub Actions 的用法:WinGet 发布器 🌟
WinGet 发布器是一个 GitHub Action,它调用 Komac 并传递您的发布 URL。这完全自动化了 WinGet 的发布。
示例 📝
name: Publish to WinGet
on:
release:
types: [ released ]
jobs:
publish:
runs-on: windows-latest
steps:
- uses: vedantmgoyal9/winget-releaser@main
with:
identifier: Package.Identifier
token: ${{ secrets.WINGET_TOKEN }}
# installers-regex: '\.exe$' # Only .exe files
替代动作 🔄
- 手动运行 Komac:michidk/run-komac
- 自动化外部存储库的发布:michidk/winget-updater
我如何支持 Komac? ❤️
- 🤝 通过 GitHub Sponsors 赞助这个项目
- ⭐ 星标这个项目! :)
- 🧑💻 使用 Komac 并 创建一个关于功能请求或错误的 issue。
星标历史记录 ⭐
许可证
Komac 是自由软件:您可以随意使用、学习、分享和改进它。具体来说,您可以根据自由软件基金会发布的 GNU 通用公共许可证 的条款重新分发和/或修改它,无论是许可证的第 3 版,还是(根据您的选择)任何更高版本。
依赖项
~63–88MB
~1.5M SLoC