如何为 Lua 5.3 构建 luasockets 3.0

我需要构建lua-redis。Lua-dedis依赖于luasockets。Luasockets 2.0无法构建:我在sockets 2.0和lua 5.3上的问题 我建议使用luasockets 3.0。我做到了,但它们安装到了lua 5.1中,而lua 5.3仍然无法看到此库:

根@debian:/home/debian/luasocket-master# make install
在src中进行制作安装
make [1]:进入目录`/home/debian/luasocket-master/src'
安装-d /usr/local/share/lua/5.1
安装-m644 ltn12.lua socket.lua mime.lua /usr/local/share/lua/5.1
安装-d /usr/local/share/lua/5.1/socket
安装-m644 http.lua url.lua tp.lua ftp.lua headers.lua smtp.lua /usr/local/share/lua/5.1/socket
安装-d /usr/local/lib/lua/5.1/socket
安装socket-3.0-rc1.so /usr/local/lib/lua/5.1/socket/core.so
安装-d /usr/local/lib/lua/5.1/mime
安装mime-1.0.3.so /usr/local/lib/lua/5.1/mime/core.so
make [1]:离开目录`/home/debian/luasocket-master/src'
根@debian:/home/debian/luasocket-master# lua
Lua 5.3.2版版权所有(C)1994-2015 Lua.org,PUC_Rio
> require('socket')
stdin:1:未找到模块'socket':
    没有字段包预加载['socke t']
    没有文件'/usr/local/share/lua/5.3/socket.lua'
    没有文件'/usr/local/share/lua/5.3/socket/init.lua'

我如何更改目标lua版本?

这不是关于我的问题是重复问题,因为它是不同的代码库和不同的问题。套接字2.0无法编译,套接字3.0无法安装。

点赞
用户805875
用户805875

在看一下Makefile后,可以发现以下内容:

install-both:
    $(MAKE) clean
    @cd src; $(MAKE) $(PLAT) LUAV=5.1
    @cd src; $(MAKE) install LUAV=5.1
    $(MAKE) clean
    @cd src; $(MAKE) $(PLAT) LUAV=5.2
    @cd src; $(MAKE) install LUAV=5.2
    $(MAKE) clean
    @cd src; $(MAKE) $(PLAT) LUAV=5.3
    @cd src; $(MAKE) install LUAV=5.3

src /Makefile 使用变量 LUAV 来选择包括文件|安装路径等。

这意味着你也可以直接调用你所需版本的内容(并将所有make调用合并为一个):

make clean all install LUAV=5.3
2015-12-17 00:24:25