我在用于托管我的项目的Ubuntu 16.04服务器VPS上运行Luvit环境。这是我当前文件树的图像
我目前在(通过cd命令)WrapperTest文件夹中,并运行main.lua文件。这需要net / socket中的服务器文件。
每次切换文件时,感觉Lua正在更改文件路径。网络在这个项目中是 MUST ,我的文件甚至无法检测到内置模块。
Luvit提供了许多内置模块,例如coro-http
,它为Lua提供HTTP支持。
为什么当我需要一个不同的文件时,我无法检测到正常模块并且我的整个文件路径发生了变化?
修改:当我在WrapperTest中require 'main'
时,它已成功requires
WrapperTest/net/socket/server
。此服务器文件取决于WrapperTest/net/
中的“discordio.lua”。 'discordio.lua'需要一个名为http-lib
的同一目录中的文件,路径为require "net/http-lib"
。在http-lib's
第一行,需要一个名为coro-http
的模块,该模块内置于Luvit的解释器中。这失败了,我无法弄清楚原因。
堆栈跟踪(非正式,因为它是Luvit错误,不是纯粹的Lua):
[string "bundle:deps/require.lua"]:278:
No such module 'net/discordio' in '/usr/local/WrapperTest/net/socket/server.lua'
./net/http-lib.lua:1: module 'coro-http' not found:
答案 0 :(得分:1)