我的
lazy.lua
文件位于 .config/nvim/lua/{name}/
目录中,然后为了构建我的配置,我将其移动到 .config/nvim/lua
。之后,我在一些惰性文件中遇到了一些基本上与 nil 值有关的错误。
所有这些错误都源于
require('lazy').setup('plugins')
一旦我将
lazy.lua
移回 .config/nvim/lua/{name}/ directory
,这些错误就会消失。
我显然更新了 init.lua
文件中的所有导入。我还尝试通过 sudo rm ~/.local/share/nvim/lazy ~/.local/state/nvim/lazy -rf
重新安装惰性,还删除了 lazy-lock.json
文件,但除了将 lazy.lua
移动到 .config/nvim/lua/{name}/
目录之外,没有任何效果。我什至将 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')
以下是错误:-
旧版本0.9.4
错误无法为“lazy”插件运行健康检查。例外: 函数 health#check,第 25 行 Vim(eval):E5108: 执行 lua 时出错 ...al/share/nvim/lazy/lazy.nvim/lua/lazy/manage/process.lua:52:尝试索引 upvalue 'uv' (>nil 值) 堆栈回溯: .local/share/nvim/lazy/lazy.nvim/lua/lazy/manage/process.lua:52:在函数“spawn”中 .local/share/nvim/lazy/lazy.nvim/lua/lazy/manage/process.lua:234:在函数“exec”中 .local/share/nvim/lazy/lazy.nvim/lua/lazy/health.lua:40:在函数“have”中 .local/share/nvim/lazy/lazy.nvim/lua/lazy/health.lua:72:在函数“检查”中 [字符串“luaeval()”]:1:在主块中
最新版本0.11.0
lazy.nvim {lazy.nvim} 版本 11.14.1 好的 {git} 版本 2.34.1 好的,其他包管理器没有找到现有包
- 确定未找到 packer_compiled.lua 错误 未加载插件。您是否忘记运行 require("lazy").设置()?
Luarocks 错误无法运行“惰性”插件的健康检查。例外: .local/share/nvim/lazy/lazy.nvim/lua/lazy/health.lua:132:尝试索引字段“rocks”(零值)
首先,“rocks”检查运行状况错误可能是因为您的系统上没有安装 LuaRocks。 LuaRocks 是 lazy.nvim
的
要求,以便它可以安装 rockspecs。您可以安装它,也可以通过取消注释下面的行
lazy.nvim
来禁用它在 rocks = { enabled = false },
中的使用。
其次,通过将
lazy.lua
从 ~/.config/nvim/lua/config
移动到 ~/.config/nvim/lua
,您无意中在 lazy.lua
文件和惰性模块 ~/.local/share/nvim/lazy
之间造成了名称冲突。
解决方案是将
~/.config/nvim/lua/lazy.lua
重命名为 lazy.lua
以外的其他名称,或者像您之前所做的那样将其放入某个 {name}
目录中。将文件重命名为简单易读的名称,例如 lazy-config.lua
就足够了。
更具体地说,假设您想要以下结构化设置,则需要下面列出的三件事。
~/.config/nvim
├── init.lua
└── lua
├── lazy-config.lua
└── plugins
├── spec1.lua
├── **
└── spec2.lua
~/.config/nvim/init.lua
文件存在,并调用以下函数:require("lazy-config")
~/.config/nvim/lua
目录存在,并且在该目录中存在lazy-config.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"
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)
-- 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({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation (https://lazy.folke.io/configuration) for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
-- disable luarocks if it is not available on system
-- rocks = { enabled = false },
})
~/.config/nvim/plugins
存在,该目录中的每个文件都包含您要安装的插件的规范,通过表格返回。例如,要安装 lualine,您需要在 lualine.lua
中创建一个 ~/.config/nvim/plugins
文件,其中包含以下内容:return { -- Status line for Neovim
"nvim-lualine/lualine.nvim",
opts = {
options = {
icons_enabled = false,
component_separators = "|",
section_separators = "",
},
sections = {
lualine_x = {
"encoding",
"filetype",
},
lualine_c = {
{ "filename", path = 3 },
},
},
},
}
在
此处了解有关
lazy.nvim
安装的更多信息。