问题背景
最近在尝试运行最新的代码大模型 qwen3-coder-next 时,Ollama 抛出了一个 412 错误,导致模型无法拉取。
报错信息:
Error: pull model manifest: 412:
The model you are attempting to pull requires a newer version of Ollama that may be in pre-release.
环境: Linux Server (Ubuntu/CentOS)
原因分析
- 版本滞后:官方的一键安装脚本 (
curl ... | sh) 默认安装的是 Stable(正式版)。截至本文撰写时,正式版是0.15.4,但新模型强制要求 0.15.5 及以上的 Pre-release(预览版)。 - 安装脚本失效:尝试通过
OLLAMA_VERSION=0.15.5指定版本升级时,提示404 Not Found。 - 打包格式变更(关键坑点):Ollama 在最新的预览版中更改了发布包的格式。
- 旧版本:
.tgz文件,约 400MB。 - 新版本:
.tar.zst文件,包含完整 GPU 库,体积暴增至约 1.6GB。 - 由于文件名后缀和路径的变化,旧的脚本和手动猜测 URL 的方法都会下载失败。
解决方案(最终验证版)
由于官方脚本暂时无法处理这种新格式的预览版更新,我们需要通过命令行“手动”完成升级。
第一步:停止服务
为了防止文件占用,升级前必须停止 Ollama 服务。
sudo systemctl stop ollama
第二步:自动获取并下载最新预览版
由于 GitHub Release 的文件名可能会变(比如带有 -rc 后缀),我们使用一条组合命令,通过 GitHub API 自动抓取最新的 ollama-linux-amd64.tar.zst 下载链接并开始下载。
注意:文件约 1.6GB,请耐心等待下载完成。
curl -L $(curl -s https://api.github.com/repos/ollama/ollama/releases | grep "browser_download_url" | grep "ollama-linux-amd64.tar.zst" | head -n 1 | cut -d '"' -f 4) -o ollama-linux-amd64.tar.zst
第三步:解压并覆盖安装
新包使用了 zstd 压缩算法,且包含了完整的目录结构。我们需要将其解压到 /usr/local 目录。
# 确保已安装 zstd (如果没有请先运行 apt install zstd 或 yum install zstd)
sudo tar -C /usr/local -I zstd -xvf ollama-linux-amd64.tar.zst
第四步:重启服务并验证
# 启动服务
sudo systemctl start ollama
# 验证版本(应显示 0.15.5 或更高)
ollama --version
此时,再次运行模型即可成功:
ollama run qwen3-coder-next:q8_0
第五步:清理安装包
安装成功后,删除下载的巨大压缩包以释放服务器空间:
rm ollama-linux-amd64.tar.zst
常见问题 Q&A
Q:升级到了预览版,以后怎么变回正式版?
A:你不需要做降级操作。只需要等待 Ollama 官方发布新的正式版(版本号大于你当前的预览版)。届时,直接运行官方标准命令即可自动覆盖更新:
curl -fsSL https://ollama.com/install.sh | sh
Q:为什么我手动下载只有 9 个字节?
A:如果你手动构造 URL(例如 .../v0.15.5/ollama-linux-amd64.tgz)但该文件不存在,服务器会返回一个 404 文本页面。curl 会把这个文本保存下来,导致你以为下载了文件,实际只是个报错网页。请务必使用本文中的 API 自动抓取方法,或者去浏览器确认文件扩展名。
总结:在玩转最新的 AI 模型时,经常会遇到依赖环境版本滞后的问题。当官方脚本“失灵”时,理解底层的安装逻辑(下载-解压-覆盖)和文件格式变化(tgz -> tar.zst)是解决问题的关键。
版权属于:soarli
本文链接:https://blog.soarli.top/archives/799.html
转载时须注明出处及本声明。