ARTICLE DETAIL

资讯详情

深耕网站SEO优化与搜索引擎排名提升的一线实战洞察。

uv 自更新完全指南:1 条命令升级、按版本回退与 CI 自动更新

uv 自更新完全指南:1 条命令升级、按版本回退与 CI 自动更新 uv 自更新完全指南1 条命令升级、按版本回退与 CI 自动更新【免费下载链接】uvAn extremely fast Python package and project manager, written in Rust.项目地址: https://gitcode.com/GitHub_Trending/uv/uvuv 是用 Rust 编写的极速 Python 包管理器新版本几乎每隔两三周就会出现解析速度、缓存行为和 bug 修复都在持续改进。它的自更新入口是uv self update一条命令把本机 uv 升到最新版也可以显式指定版本号做升级或回退。本文按先判断旧不旧 → 执行升级 → 理解机制 → 指定版本 → 网络开关 → 团队与 CI → 排坑回退的顺序展开读完你可以独立完成日常的 uv 版本管理。升级前先判断当前 uv 版本旧不旧不要盲目升级先搞清楚两个问题我现在是什么版本最新版是什么# 只看版本号的紧凑输出 uv self version --short再预览如果现在升级会发生什么。--dry-run只查询、不落地是判断版本差距最安全的方式uv self update --dry-run输出会告诉你是已是最新版还是将从 vX 升到 vY。另外一个实用信号当项目通过 required-version 机制要求更高的 uv 版本、而本机过旧时uv 会主动提示你运行uv self update。想核对最新版带来了什么变化可以翻仓库里的changelogs/目录每个大版本一份记录如changelogs/0.11.x.md。一次升级的完整流程uv self update 内部做了什么执行最小命令uv self update它不是打一个补丁而是走一次官方发行版重装大致分 6 步读安装回执receiptuv 先确认当前二进制是通过官方独立安装脚本装的并记下当初的安装目录。解析目标版本拉取官方发布清单从 Astral 镜像地址优先失败再回退到 GitHub 发布地址。比较版本目标版本不高于当前版本时直接提示Youre already on version vX并结束。下载安装器把该版本的官方独立安装器下载到临时目录Unix 下是uv-installer.shWindows 下是uv-installer.ps1。锁定原目录安装运行安装器时强制写回原安装位置并沿用当初的 PATH 处理策略不会把你装到别处。报告结果成功时打印Upgraded uv from vX to vY!如果目标版本比当前旧则显示Downgraded。这套流程的好处是升级后 uv 的落盘位置、PATH 行为与第一次安装完全一致不需要重新配置 shell。为什么 pip 或 brew 装的 uv 不能自更新这是最常见的困惑。uv self update只认独立安装脚本装出来的 uv判据是安装时留下的回执文件uv-receipt.jsonUnix 默认在~/.config/uv/Windows 在%LOCALAPPDATA%\uv\下。找不到回执时命令会直接报错并告诉你Self-update is only available for uv binaries installed via the standalone installation scripts.此时用当初的安装渠道升级即可# pip 安装 pip install --upgrade uv # Homebrew 安装 brew upgrade uv另一种报错是机器上存在多份 uv当前可执行文件路径与回执记录的安装目录对不上通常是 PATH 里同时有~/.local/bin和~/.cargo/bin下的 uv。用which uvmacOS/Linux或where uvWindows确认后移除多余的一份再升级。 Windows 上还有一层保护升级前旧二进制会被改名为.previous.exe一旦安装失败会自动改回不会出现升了个坏版本回不去的情况。怎么升级到指定版本或者回退到旧版本uv self update支持一个可选的版本参数用于精确控制目标版本。注意格式要求必须写完整的 主.次.补丁 三段版本号不能带v前缀也不能写0.7这种省略形式# 升级到指定版本0.7.0 只是示例按发布列表选择 uv self update 0.7.0回退就是同一个命令换个方向把版本号写成比当前更早的发布即可成功后会打印Downgraded uv from ... to ...。升级新版后遇到兼容性问题时这是最直接的退路。不确定版本格式是否会被接受时先加--dry-run试一次。网络受限或撞限流3 个常用开关GitHub API 限流。自更新需要查询发布清单公共 IP 偶尔会触发限流表现为 403 并提示 rate limit。带一个 token 可显著降低概率uv self update --token 你的 GitHub token # 或写入环境变量免去每次输入 export UV_GITHUB_TOKEN你的 GitHub token企业内网 / 镜像源。设置UV_ASTRAL_MIRROR_URL后自更新会先从你的镜像拉取清单和安装器export UV_ASTRAL_MIRROR_URLhttps://内网镜像地址自建 GitHubGHE。如果团队把 uv 发布到自建实例设置UV_INSTALLER_GITHUB_BASE_URL或UV_INSTALLER_GHE_BASE_URL会把自更新切到通用的 axoupdater 流程指向你的自建仓库。另外要记住一个前提自更新必须联网。带上--offline执行会直接报错离线环境请用手动安装方案见下一节。具体环境变量以官方文档为准。团队与 CI 里如何统一管理 uv 版本CI 流水线—— 做法用独立安装脚本装 uv再执行uv self update或对结果敏感的流水线直接固定版本uv self update 0.7.0。原因runner 镜像里的 uv 往往滞后统一升级能避免本地能解析、CI 上行为不同。生产 / 共享机器—— 做法每月手动升级一次升级前先uv self update --dry-run确认差距。原因生产工具求稳不必追每一版。教学 / 演示—— 做法显式安装某个版本并禁止随意升级。原因保证所有学员的解析结果可复现。团队基线—— 做法把推荐版本写进项目文档或 required-version落后时让 uv 自己提示升级。原因把该升级了从口头约定变成工具信号。定时任务示例Linux/macOS cron每周日 03:00 执行并留痕#!/bin/bash LOG/var/log/uv-auto-update.log uv self update $LOG 21 echo $(date %F %T) exit$? $LOG升级失败或升级后出问题排查清单现象原因处理Self-update is only available for...pip/brew 等渠道安装无回执pip install --upgrade uv或brew upgrade uv403 / rate limit 提示GitHub API 限流加--token或设置UV_GITHUB_TOKEN下载超时 / 网络错误网络或代理问题配置镜像环境变量或手动下载该版本发布包替换The current executable is at ...多份 uv 并存which uv定位后移除多余副本新版行为不兼容升级过头uv self update 更早的版本回退自动升级反复失败时最稳的兜底是手动重装从 uv 的发布列表下载对应版本的独立安装包或重新执行官方安装脚本curl -LsSf https://astral.sh/uv/install.sh | sh它会覆盖安装到同一位置。现在就能做的 4 步✅uv self version --short—— 确认当前版本必要时翻changelogs/看与最新版的差距 ✅uv self update --dry-run—— 预览升级结果零风险 ✅uv self update—— 独立脚本安装的用户直接升级pip/brew 用户改用对应包管理器 ✅ 把策略落到环境CI 里固定版本或自动升级团队文档写明基线版本排一个每周uv self update的定时任务延伸阅读仓库内文件docs/getting-started/installation.md安装与自更新说明、docs/getting-started/features.md功能清单、CHANGELOG.md完整变更日志、crates/uv/src/commands/self_update.rs自更新实现源码。【免费下载链接】uvAn extremely fast Python package and project manager, written in Rust.项目地址: https://gitcode.com/GitHub_Trending/uv/uv创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表