如何在 Lua 中使用 require 访问 Luvit 的内置模块?
2018-5-4 21:5:6
收藏:0
阅读:122
评论:1
我正在运行一个 Luvit 环境,用于托管我的项目的 Ubuntu 16.04 服务器 VPS。这是我当前文件树的图像

我目前在 (通过 cd 命令) WrapperTest 文件夹中,并运行 main.lua 文件。这需要 net/socket 中的 server 文件。
感觉 Lua 每次切换文件时都会更改文件路径。在这个项目中,网络是必须的,我的文件甚至无法检测内置模块。
Luvit 提供了许多内置模块,比如 coro-http,为 Lua 提供 HTTP 支持。
为什么当我 require 不同的文件时,我无法检测到正常的模块,整个文件路径都会改变?
编辑:当我在 WrapperTest 中 require 'main' 时,它成功 requires WrapperTest/net/socket/server。这个 server 文件依赖于 WrapperTest/net/ 中的 'discordio.lua'。'discordio.lua' 需要同一目录下的一个名为 http-lib 的文件,并使用路径 require "net/http-lib"。在 http-lib 的第一行上,它需要一个名为 coro-http 的模块,该模块内置于 Luvit 的解释器中。这个不起作用,我找不到原因。
堆栈跟踪 (不是纯 Lua 的 Luvit 错误):
[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:
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

http是在Luvit中提供的 '内建' 库,模仿了Node中的http库。coro-http是一个辅助库,可通过Luvit包管理器lit从公共软件包库中进行安装。$ lit install creationix/coro-httplit的install命令将下载并安装库到名为deps的本地目录中。Luvit提供了一个自定义的
require,它 应该 在其搜索模式中包含deps(和递归向上的deps目录)。如果其他方法都失败了,您可以尝试通过更改
package.path字段手动调整搜索路径:package.path = './deps/?.lua;' .. package.path