
Ollama cannot find model despite the model already being downloaded
快速结论:该报错通常发生在 Windows 系统上同时运行了多个 Ollama 实例(例如原生 Windows 版本和 WSL 版本)。模型实际上并未丢失,而是被另一个 Ollama 实例管理,导致当前实例无法识别。优先排查是否误启动了多个 Ollama 服务。
问题场景
用户在 Windows 11 上运行 Ollama(版本 0.30.10),下载 gemma4:12b-it-qat 模型后能正常使用,但在运行 `ollama run codex-app` 后,模型从 `ollama list` 中消失,系统要求重新下载模型。用户同时安装了原生 Windows 版 Ollama 和 WSL 版 Ollama。
报错原文
PS C:\Users\user> ollama list
NAME ID SIZE MODIFIED
PS C:\Users\user> ollama -v
ollama version is 0.20.7
Warning: client version is 0.30.10
服务端日志显示版本为 0.30.10,但客户端报告版本为 0.20.7,提示客户端与服务器版本不一致。
原因分析
根本原因是 Windows 和 WSL 环境中各运行了一个 Ollama 实例。它们使用不同的模型存储路径,因此 WSL 中的模型对 Windows 原生 Ollama 不可见。用户通过 `env | findstr OLLAMA` 发现环境变量 `OLLAMA_HOST=0.0.0.0`,这表明可能存在额外配置或服务冲突。日志中的版本不一致也佐证了这是一个连接到了错误服务器实例的问题。
环境排查
- 确认 Ollama 客户端版本:`ollama -v`
- 检查是否有多个 Ollama 进程:`tasklist | findstr ollama`
- 查看环境变量:Windows 下 `env | findstr OLLAMA`,确认 `OLLAMA_HOST` 是否被设置
- 对比客户端版本与服务端日志中的版本(日志通常在 `%USERPROFILE%\.ollama\logs\server.log` 或使用官方排查文档查看)
- 检查是否在 WSL 中安装了另一套 Ollama:`wsl` 进入 Linux 环境后运行 `ollama -v`
- 确认默认模型存储路径:Windows 下通常为 `C:\Users\\.ollama\models`,WSL 下为 `~/.ollama/models`
解决步骤
- 打开 PowerShell(管理员模式),强制关闭 Windows 上的所有 Ollama 进程:
taskkill /F /IM ollama.exe
taskkill /F /IM "ollama app.exe" - 进入 WSL 环境,停止 WSL 中的 Ollama 服务:
wsl -- sudo systemctl stop ollama或者wsl -- ollama stop(取决于安装方式)。 - 重新启动 Windows 原生 Ollama(建议仅保留一个来源的服务)。
- 如果无法确定哪个实例是需要的,可以卸载其中一个。卸载 WSL 中的 Ollama 示例:
wsl -- sudo apt remove ollama - 确认环境变量 `OLLAMA_HOST` 未强制指向非本地端口(例如 `0.0.0.0`),除非有明确目的。可在系统环境变量中移除该变量。
注意:该解决方案是基于 Issue 中发现的“多实例”问题得出的,如果问题仍然存在,可能还有其他配置冲突。
验证方法
重新运行 `ollama list`,确认之前下载的模型(如 gemma4:12b-it-qat)正常显示在列表中。运行 `ollama run ` 测试能否正常加载模型。最后,使用 `ollama -v` 确认客户端版本与服务端日志中的版本一致(均为 0.30.10)。



