我需要建立lua-redis。 Lua-dedis取决于luasockets。 Luasockets 2.0无法构建:my question on sockets 2.0 and lua 5.3我被建议使用luasockets 3.0。我制作它们,但它们被安装到lua 5.1和lua 5.3仍然没有看到这个库:
root@debian:/home/debian/luasocket-master# make install
make -C src install
make[1]: Entering directory `/home/debian/luasocket-master/src'
install -d /usr/local/share/lua/5.1
install -m644 ltn12.lua socket.lua mime.lua /usr/local/share/lua/5.1
install -d /usr/local/share/lua/5.1/socket
install -m644 http.lua url.lua tp.lua ftp.lua headers.lua smtp.lua /usr/local/share/lua/5.1/socket
install -d /usr/local/lib/lua/5.1/socket
install socket-3.0-rc1.so /usr/local/lib/lua/5.1/socket/core.so
install -d /usr/local/lib/lua/5.1/mime
install mime-1.0.3.so /usr/local/lib/lua/5.1/mime/core.so
make[1]: Leaving directory `/home/debian/luasocket-master/src'
root@debian:/home/debian/luasocket-master# lua
Lua 5.3.2 Copyright (C) 1994-2015 Lua.org, PUC-Rio
> require('socket')
stdin:1: module 'socket' not found:
no field package.preload['socket']
no file '/usr/local/share/lua/5.3/socket.lua'
no file '/usr/local/share/lua/5.3/socket/init.lua'
如何更改目标lua版本?
这与我关于套接字2.0的问题不重复,因为它是不同的代码库和不同的问题。套接字2.0无法编译,套接字3.0无法安装。
答案 0 :(得分:1)
查看the 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