106 个稳定版本 (15 个主要版本)

15.0.0 2024年7月1日
14.0.1 2024年1月25日
13.0.0 2023年10月20日
12.0.2 2023年7月25日
0.10.0 2018年7月10日

操作系统 中排名 71

Download history 212/week @ 2024-05-03 201/week @ 2024-05-10 169/week @ 2024-05-17 160/week @ 2024-05-24 141/week @ 2024-05-31 194/week @ 2024-06-07 168/week @ 2024-06-14 136/week @ 2024-06-21 1698/week @ 2024-06-28 889/week @ 2024-07-05 389/week @ 2024-07-12 281/week @ 2024-07-19 913/week @ 2024-07-26 415/week @ 2024-08-02 395/week @ 2024-08-09 227/week @ 2024-08-16

每月下载量 1,991

开源协议 GPL-3.0

4.5MB
8K SLoC

Topgrade

GitHub Release crates.io AUR Homebrew

Demo

简介

注意 这是从 r-darwish 的 topgrade 分支出来的,以保持其维护状态。

保持系统更新通常涉及调用多个包管理器。这会导致保存到您 shell 中的大型的、不可移植的 shell 一行代码。为了解决这个问题,Topgrade 会检测您使用的工具,并运行适当的命令来更新它们。

安装

Packaging status

其他系统的用户可以使用 cargo install 或从发布页面下载编译后的二进制文件。编译后的二进制文件包含自升级功能。

目前,Topgrade 需要 Rust 1.65 或更高版本。通常,Topgrade 跟踪最新稳定工具链。

用法

只需运行 topgrade

配置

有关示例配置文件,请参阅 config.example.toml

迁移和重大变更

每当有 重大变更 时,主版本号将增加,我们将在发布说明中记录这些变更,请更新到主要版本时查看。

有问题?请随时提出问题或讨论!

配置路径

每个平台的 CONFIG_DIR

  • Windows: %APPDATA%
  • macOS其他 Unix 系统${XDG_CONFIG_HOME:-~/.config}

topgrade 将按照以下顺序,根据优先级查找配置文件:

  1. CONFIG_DIR/topgrade.toml
  2. CONFIG_DIR/topgrade/topgrade.toml

如果存在优先级更高的文件,无论其是否有效,其他配置文件都将被忽略。

在第一次运行(不存在配置文件)时,topgrade 将为您在 CONFIG_DIR/topgrade.toml 创建一个配置文件。

自定义命令

可以在配置文件中定义自定义命令,这些命令可以在内置命令之前、期间或之后运行,根据需要。默认情况下,自定义命令使用根据 Unix 的 $SHELL 环境变量(在 Windows 上回退到 pwsh,回退到 powershell)在新的 shell 中运行。

在 Unix 上,如果您想使用交互式 shell 运行您的命令,例如源 shell 的 rc 文件,您可以在自定义命令的开始添加 -。但请注意,这要求命令正确退出 shell,否则 shell 将无限期地挂起。

远程执行

您可以在配置文件中指定一个名为 remote_topgrades 的键。此键应包含安装了 Topgrade 的主机名列表。Topgrade 将使用 ssh 在本地操作之前在远程主机上运行 topgrade。要限制执行仅限于特定主机,请使用 --remote-host-limit 参数。

贡献

有问题或缺少功能吗?

打开一个新的问题,描述您的问题,并在可能的情况下提供解决方案。

缺少功能或找到了不支持的工具/发行版?

只需通过打开一个问题让我们知道您缺少什么。对于工具,请打开一个问题,描述工具,它支持的平台以及尽可能提供其使用示例。

想为代码做出贡献?

只需叉取仓库并开始编码。

贡献指南

请参阅 CONTRIBUTING.md

路线图

  • 向代码库添加适当的测试框架。
  • 为包管理器添加单元测试。
  • 将代码拆分成更多可维护的部分,例如将每个 Linux 包管理器放入 linux.rs 的独立子模块中。

依赖项

~20–55MB
~890K SLoC