這個錯誤不是 vLLM 本身的問題,而是 pip 在 clone GitHub 倉庫時失敗了:
error: RPC failed; curl 16 Error in the HTTP2 framing layer
fatal: expected flush after ref listing
根因通常是:
- 網絡問題(訪問 GitHub 被中斷 / 代理不穩定)。
- HTTP2 bug(某些環境下 curl + HTTP2 容易觸發)。
- 公司內網鏡像源(你那邊用了華為云 pypi 源,但
git+https://...
還是直連 GitHub)。
解決方案
方案 1:禁用 HTTP/2 再安裝
GitHub 的 git clone
有時在 HTTP/2 下會掛,可以先設置:
git config --global http.version HTTP/1.1
然后再試:
pip install -U "vllm[all] @ git+https://github.com/vllm-project/vllm.git"
方案 2:手動 clone 再安裝
繞過 pip 內部的 git 調用,自己先拉代碼:
git clone https://github.com/vllm-project/vllm.git
cd vllm
pip install -U ".[all]"
方案 3:用國內鏡像(推薦在國內環境)
如果 GitHub clone 不穩定,可以走 gitee 鏡像:
git clone https://gitee.com/mirrors/vllm.git
cd vllm
pip install -U ".[all]"
方案 4:安裝 PyPI 上的穩定版(如果不一定要最新)
pip install -U vllm[all]
PyPI 版本可能比 GitHub main branch 落后一點,但通常足夠用。
? 建議流程:
先試 方案 1 (http.version=HTTP/1.1) → 如果還不行,就用 方案 2 手動 clone。