# PR #47687 完整报告

- 仓库：`vllm-project/vllm`
- 标题：[CI/Build][CPU] Remove global extra index
- 合并时间：2026-07-06 13:42
- 原文链接：http://prhub.com.cn/vllm-project/vllm/pull/47687

---

## 执行摘要

此 PR 移除了 CPU 和 s390x 平台构建过程中全局配置的 `--extra-index-url`（指向 PyTorch CPU 包索引），改为在 `uv pip install` 命令中直接使用 `--torch-backend cpu` 标志。此举旨在避免因全局 extra index 导致的包下载不稳定问题，同时简化配置。

## 功能与动机

PR 描述指出：“Remove global extra index to avoid flaky package downloads.” 全局 extra index 可能导致 pip 从多个索引下载包，增加网络不稳定和版本冲突的风险。使用 `--torch-backend cpu` 是 uv 推荐的方式，可以更精确地指定后端索引，避免不必要的索引切换。

## 实现拆解

1. **移除 requirements 文件中的全局 extra-index 行**：在 `requirements/build/cpu.txt` 和 `requirements/cpu.txt` 中删除以 `--extra-index-url` 开头的行。这些行此前会在所有 pip 安装中注入额外索引。
2. **更新 Dockerfile.cpu**：删除 ARG `PIP_EXTRA_INDEX_URL` 及其对应的环境变量 `PIP_EXTRA_INDEX_URL` 和 `UV_EXTRA_INDEX_URL`。将所有 `uv pip install` 命令后添加 `--torch-backend cpu` 标志，以显式指定使用 PyTorch CPU 后端索引。涉及 requirements/cpu.txt、requirements/build/cpu.txt、requirements/test/cpu.txt、requirements/lint.txt 相关的安装命令。
3. **更新 Dockerfile.s390x**：在 s390x Dockerfile 中的 `uv pip install` 命令后添加 `--torch-backend cpu` 标志。
4. **更新安装文档**：在 `cpu.apple.inc.md` 中删除关于 `--index-strategy unsafe-best-match` 的 tip 说明，并简化安装命令。在 `cpu.s390x.inc.md` 中将 `--extra-index-url` 替换为 `--torch-backend cpu` 和 `--index-strategy unsafe-best-match`。

### 无关键代码逻辑变更，仅涉及配置和文档修改。

## 评论区精华

无实质性 review 讨论。

## 风险与影响

- **风险**：较低。需确保 uv 版本支持 `--torch-backend` 标志；文档中删除了 `unsafe-best-match` 的解释，新用户可能不了解该策略。
- **影响**：仅限 CPU/s390x 平台的 Docker 构建和本地安装流程，对运行时不产生影响。

## 关联脉络

此 PR 是独立的 CI/ 构建清理工作，与近期其他 PR（如 #45243 RISC-V BF16 修复、#47532 VLEN 检测修复）没有直接关联。