'neovim init.lua module "lua.plguins" not found

I'm in the configuration neovim I added the configuration file in C:\Users\wupan\AppData\Local\nvim\init.lua

require("lua.plugins")

and C:\Users\wupan\AppData\Local\nvim\lua\plugins.lua

return require('packer').startup(function()
use "wbthomason/packer.nvim"
end)

After the start-up 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

May I ask why

I tried to install Lua test the require

scoop install lua

C:\Users\wupan\code\lua\test.lua

require("hello")

C:\Users\wupan\code\lua\hello.lua

print("hello world")

There are also problems

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 ?


Solution 1:[1]

Problem analysis

Let's use the following example which you gave us:

C:\Users\wupan\AppData\Local\nvim\init.lua

require("lua.plugins")

C:\Users\wupan\AppData\Local\nvim\lua\plugins.lua

return require('packer').startup(function()
    use "wbthomason/packer.nvim"
end)

And now let's take a look into your error message:

    no file 'C:\Users\wupan\scoop\apps\neovim\current\bin\lua\lua\plugins.lua'

The important part is the bin\lua\lua thing here. It's because your require("lua.plugins") starts to look up a directory in one of your runtime path (see :h rtp for more information).

Solution

You just need to fix your content in C:\Users\wupan\AppData\Local\nvim\init.lua to:

require("plugins")

because then neovim will look up a directory which is named plugins in C:\Users\wupan\scoop\apps\neovim\current\bin\lua for example, since its in your runtime path.

Little note

You can change your content from C:\Users\wupan\AppData\Local\nvim\lua\plugins.lua to:

require('packer').startup(function()
    use "wbthomason/packer.nvim"
end)

or how I did it:

local packer = require('packer')

packer.startup(function(use)
    use 'wbthomason/packer.nvim'
end)

That makes it a little bit more readable in my opinion :)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 TornaxO7