- 安装lua
git clone https://github.com/lua/lua.git Lua/lua
cd Lua/lua
git checkout -b v5.4.2 v5.4.2
make
install
echo `lua='$(pwd)/lua $*'` >> ~/.bashrc
source ~/.bashrc
lua5 --version
或者
cp lua /usr/bin/
mkdir -p /usr/local/include/lua
cp *.h /usr/local/include/lua
cp ./liblua.a /usr/local/lib64/
- 安装luarocks
git clone https://github.com/luarocks/luarocks.git
./configure
make && sudo make install
使用
# 安装luasockes 模块
luarocks install luasockes
# 查看安装的文件
ls /usr/share/lua/{版本}/socket
# 查看lua默认的包加载路径
lua -e 'print(package.path)'
local sock = require('socket')
local server = assert(sock.bind("0.0.0.0",8484))
while true do
local control = server:accept()
while true do
command,status = control:receive()
if status == "closed" then break end
print(command)
control:send("ask\n")
end
end
- 手动设置lua包路径
export LUA_PATH=$LUA_PATH';/usr/local/lib/lua/?/init.lua;/usr/local/lib/lua/?.lua'
export LUA_CPATH=$LUA_CPATH';/usr/local/lib/lua/?.so'
# 当 local pkg = require 'pkg' 时,会按顺序查找
# /usr/local/lib/lua/pkg/init.lua
# /usr/local/lib/lua/pkg.lua
# /usr/local/lua/lua/pkg.so
也可以在lua脚本中写
package.path = '/usr/local/lib/lua/?/init.lua;'..'/usr/local/lib/lua/?.lua;'
package.cpath='/usr/local/lib/lua/?.so;'