移动lazy.lua至上级目录后Neovim出现nil值错误求助
问题背景
- 原本将
lazy.lua文件放置在.config/nvim/lua/{name}/目录下,迁移至.config/nvim/lua目录后,出现一系列源于require('lazy').setup('plugins')的nil值错误 - 将文件移回原目录后错误立即消失
- 已执行的排查操作:
- 更新
init.lua中的所有导入语句 - 执行命令
sudo rm ~/.local/share/nvim/lazy ~/.local/state/nvim/lazy -rf重新安装lazy.nvim - 删除
lazy-lock.json文件 - 将Neovim升级至最新版本
- 更新
我的lazy.lua文件内容
-- Bootstrap lazy.nvim local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or vim.loop).fs_stat(lazypath) then local lazyrepo = "https://github.com/folke/lazy.nvim.git" print('installing lazy...') local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) if vim.v.shell_error ~= 0 then vim.api.nvim_echo({ { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, { out, "WarningMsg" }, { "\nPress any key to exit..." }, }, true, {}) vim.fn.getchar() os.exit(1) end end vim.opt.rtp:prepend(lazypath) print('lazy installed') -- Make sure to setup `mapleader` and `maplocalleader` before -- loading lazy.nvim so that mappings are correct. -- This is also a good place to setup other settings (vim.opt) vim.g.mapleader = " " vim.g.maplocalleader = "\\" -- Setup lazy.nvim require("lazy").setup('plugins')
不同Neovim版本下的错误信息
旧版本0.9.4
ERROR Failed to run healthcheck for "lazy" plugin. Exception:
function health#check, line 25
Vim(eval):E5108: Error executing lua
...al/share/nvim/lazy/lazy.nvim/lua/lazy/manage/process.lua:52: attempt to index upvalue 'uv' (a nil value)
stack traceback:
.local/share/nvim/lazy/lazy.nvim/lua/lazy/manage/process.lua:52: in function 'spawn'
.local/share/nvim/lazy/lazy.nvim/lua/lazy/manage/process.lua:234: in function 'exec'
.local/share/nvim/lazy/lazy.nvim/lua/lazy/health.lua:40: in function 'have'
.local/share/nvim/lazy/lazy.nvim/lua/lazy/health.lua:72: in function 'check'
[string "luaeval()"]:1: in main chunk
最新版本0.11.0
lazy.nvim
{lazy.nvim} version 11.14.1
OK {git} version 2.34.1
OK no existing packages found by other package managers
- OK packer_compiled.lua not found
ERROR No plugins loaded. Did you forget to run require("lazy"). setup()?
Luarocks
ERROR Failed to run healthcheck for "lazy" plugin. Exception:
.local/share/nvim/lazy/lazy.nvim/lua/lazy/health.lua:132: attempt to index field 'rocks' (a nil value)
内容的提问来源于stack exchange,提问作者J S

