本文由LLM撰写,内容已由我检查。
问题
在启动 LazyVim 首次安装插件(特别是像 snacks.nvim 这种体积较大的插件)时,克隆下载成功,但在 checkout(检出/解包)阶段失败,并出现以下报错:
text
warning: Clone succeeded, but checkout failed.
Process was killed because it reached the timeout
分析
"Process was killed because it reached the timeout"不是 Git 本身的报错,而是 LazyVim 的插件管理器(lazy.nvim)抛出的。
LazyVim 为了防止插件安装过程卡死,内置了一个计时器。其中,针对 Git 操作(如 clone、checkout)的默认超时时间较短。
当插件的仓库体积较大、文件较多时,网络下载虽然能在 2 分钟内完成,但随后的 checkout(解包与文件写入)过程可能会超过 120 秒。时间一到,LazyVim 就会强行终止进程,导致"下载成功但检出失败"。
解决
核心思路是:在 LazyVim 配置中,将 Git 操作的超时时间调长(例如改为 600 秒)。
第一步:修改 LazyVim 配置
打开你的 LazyVim 配置文件(通常是 ~/.config/nvim/lua/config/lazy.lua)。
找到 require("lazy").setup() 函数,在它的第二个参数(选项配置表)中,添加或修改 git.timeout 项:
lua
require("lazy").setup({
-- 第一个参数:插件列表 (spec)
-- ...
}, {
-- 第二个参数:选项配置
-- ...
git = {
timeout = 600, -- 将 Git 超时时间从默认的 120 秒改为 600 秒(10分钟)
},
})
保存文件并退出。
第二步:重新启动 Neovim
再次运行 nvim,LazyVim 会重新下载并安装插件,这次有了充足的时间,checkout 就能顺利完成了。