ITADN
topgrade-rs/topgrade
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Topgrade

GitHub Release crates.io AUR Homebrew
Discord

Demo

简介

[!NOTE] 这是 topgrade by r-darwish 的分支,旨在保持其维护。

保持系统更新通常涉及调用多个包管理器。 这会导致在你的 shell 中保存大量不可移植的 shell 单行命令。 为了解决这个问题,Topgrade 会检测你使用的工具,并运行相应的命令来更新它们。

安装

Packaging status

官方

社区维护

用法

只需运行 topgrade

配置

请参阅 config.example.toml 获取配置文件示例。

MSRV

Cargo.tomlrust-version 下查找当前的 MSRV。此 MSRV 仅会在主要版本发布时提升。

迁移与破坏性变更

每当出现破坏性变更时,主版本号将会提升, 并且我们会在发布说明中记录这些变更,请在升级到主要版本时查看。

有问题?欢迎随时提交 issue 或 discussion!

配置路径

各平台上的 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 处为您创建一个配置文件。CONFIG_DIR/topgrade.d/ 中的任何文件也会在主要 配置文件之前被加载并合并。

自定义命令

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

在 Unix 上,如果您希望使用交互式 shell 运行命令,例如为了加载您的 shell 的 RC 文件,您 可以在自定义命令的开头添加 -i。 但请注意,这要求命令正确退出 shell,否则 shell 将无限期挂起。

远程执行

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

贡献

遇到问题或缺少功能?

请打开一个新 issue 描述您的问题,并尽可能提供解决方案。

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

请通过提交 issue 告知我们您缺少什么。 对于工具,请提交一个 issue 描述该工具、它支持的平台,并尽可能提供其使用示例。

想要贡献?

参见 CONTRIBUTING.md

Discord 服务器

如果您想讨论 Topgrade,欢迎加入我们的 Discord 服务器