我在配置neovim时我在C:\Users\wupan\AppData\Local\nvim\init.lua中添加了配置文件
require("lua.plugins")
Run Code Online (Sandbox Code Playgroud)
和 C:\Users\wupan\AppData\Local\nvim\lua\plugins.lua
return require('packer').startup(function()
use "wbthomason/packer.nvim"
end)
Run Code Online (Sandbox Code Playgroud)
neovim启动后
Error detected while processing C:\Users\wupan\AppData\Local\nvim\init.lua:
E5113: Error while calling lua chunk: C:\Users\wupan\AppData\Local\nvim\init.lua:1: module 'lua.plugins' not found:
no field package.preload['lua.plugins']
no file '.\lua\plugins.lua'
no file 'C:\Users\wupan\scoop\apps\neovim\current\bin\lua\lua\plugins.lua'
no file 'C:\Users\wupan\scoop\apps\neovim\current\bin\lua\lua\plugins\init.lua'
no file '.\lua\plugins.dll'
no file 'C:\Users\wupan\scoop\apps\neovim\current\bin\lua\plugins.dll'
no file 'C:\Users\wupan\scoop\apps\neovim\current\bin\loadall.dll'
no file '.\lua.dll'
no file 'C:\Users\wupan\scoop\apps\neovim\current\bin\lua.dll'
no file 'C:\Users\wupan\scoop\apps\neovim\current\bin\loadall.dll'
stack traceback:
[C]: in function 'require'
C:\Users\wupan\AppData\Local\nvim\init.lua:1: in main chunk
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)
请问为什么
我尝试安装Lua测试要求
scoop install lua
Run Code Online (Sandbox Code Playgroud)
C:\Users\wupan\code\lua\test.lua
require("hello")
Run Code Online (Sandbox Code Playgroud)
C:\Users\wupan\code\lua\hello.lua
print("hello world")
Run Code Online (Sandbox Code Playgroud)
也存在问题
C:\Users\wupan\scoop\apps\lua\current\lua54.exe: .\test.lua:1: module 'hello' not found:
no field package.preload['hello']
no file 'C:\Users\wupan\scoop\apps\lua\current'
no file 'C:\Users\wupan\scoop\apps\lua\current'
stack traceback:
[C]: in function 'require'
.\test.lua:1: in main chunk
[C]: in ?
Run Code Online (Sandbox Code Playgroud)
让我们使用您给我们的以下示例:
C:\Users\wupan\AppData\Local\nvim\init.lua
require("lua.plugins")
Run Code Online (Sandbox Code Playgroud)
C:\Users\wupan\AppData\Local\nvim\lua\plugins.lua
return require('packer').startup(function()
use "wbthomason/packer.nvim"
end)
Run Code Online (Sandbox Code Playgroud)
现在让我们看一下您的错误消息:
no file 'C:\Users\wupan\scoop\apps\neovim\current\bin\lua\lua\plugins.lua'
Run Code Online (Sandbox Code Playgroud)
重要的部分是bin\lua\lua这里的东西。这是因为您
require("lua.plugins")开始在运行时路径之一中查找目录(请参阅 参考资料:h rtp获取更多信息)。
您只需将内容修复为
C:\Users\wupan\AppData\Local\nvim\init.lua:
require("plugins")
Run Code Online (Sandbox Code Playgroud)
因为 Neovim 将查找一个名为 例如 的目录plugins,
C:\Users\wupan\scoop\apps\neovim\current\bin\lua因为它位于您的运行时路径中。
您可以将内容从
C:\Users\wupan\AppData\Local\nvim\lua\plugins.lua以下更改为:
require('packer').startup(function()
use "wbthomason/packer.nvim"
end)
Run Code Online (Sandbox Code Playgroud)
或者我是怎么做到的:
local packer = require('packer')
packer.startup(function(use)
use 'wbthomason/packer.nvim'
end)
Run Code Online (Sandbox Code Playgroud)
在我看来,这使得它更具可读性:)