我在用mac。我通过brew和Luarocks安装了Lua。我也安装了lua套接字包。
当我从终端lua命令行接口调用local http = require("socket")时,模块加载得很好。
但是,当我在wrk测试脚本中包含local http = require("socket")时,我不仅会收到套接字的错误,而且还会收到其他模块的错误。好像没有在我的系统上使用Lua。
是否有一种方式来安装wrk的依赖模块?
package.searchpath( "socket", package.path )返回/usr/local/share/lua/5.2/socket.lua
这是供参考的错误
scripts/get_call_setup.lua: scripts/get_call_setup.lua:1: module 'socket' not found:
no field package.preload['socket']
no file './socket.lua'
no file '/Users/sak/go/src/personal/wrk/obj/share/luajit-2.0.4/socket.lua'
no file '/usr/local/share/lua/5.1/socket.lua'
no file '/usr/local/share/lua/5.1/socket/init.lua'
no file '/Users/sak/go/src/personal/wrk/obj/share/lua/5.1/socket.lua'
no file '/Users/sak/go/src/personal/wrk/obj/share/lua/5.1/socket/init.lua'
no file './socket.so'
no file '/usr/local/lib/lua/5.1/socket.so'
no file '/Users/sak/go/src/personal/wrk/obj/lib/lua/5.1/socket.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
Running 3s test @ https://ccx-courier-stage.adobe.io发布于 2022-10-21 21:22:02
确保Luarocks配置正确,luarocks安装目的地在您的路径中。
在终端中,运行下面的代码将安装的库添加到您的路径中。
eval "$(luarocks path)"然后运行您的代码:
lua myscript.lua除此之外,您的包是为lua 5.2安装的
package.searchpath( "socket", package.path ) returns /usr/local/share/lua/5.2/socket.lua但是您使用lua 5.1运行您的代码
no file '/usr/local/share/lua/5.1/socket.lua'为lua 5.1安装套接字,如果所有库都安装为lua 5.2,则运行代码或使用lua 5.2运行脚本。
lua5.2 myscript.luahttps://stackoverflow.com/questions/43744821
复制相似问题