文档章节

Lua-5.3.2 安装 luasocket 的正确姿势

FreeBlues
 FreeBlues
发布于 2016/05/23 00:12
字数 529
阅读 3153
收藏 2

Lua-5.3.2 安装 luasocket 的正确姿势

打算在我的 lua 里使用一下 socket, 也就是通过下面这样来加载:

require("socket")

于是搜索了下, 关键字用了lua如何加载socket, 发现官方的那个站点 http://luaforge.net/projects/ 里放着的是 luasocket-2.0.2, 按照这篇文档lua 5.2.2编译安装 LuaSocket 库中的描述去搞, 报了不少错, 感觉这么弄太花时间, 于是修改了关键字为lua5.3编译luasocket, 这次搜到这篇LuaSocket 初探, 这才知道原作者已经把最新版的 luasocket 放到 github 上去了, 这回就简单了, 依次执行如下命令:

sudo git clone https://github.com/diegonehab/luasocket
cd luasocket
sudo make

非常顺利地完成编译, 然后安装:

sudo make install
...
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

奇怪, 怎么安装到 5.1 的目录下去了?

打开 makefile 文件看看, 发现要用这条命令 make install-both, 重新来过, 相当于又编译了一遍, 一切OK:

sudo make install-both
...
install -d /usr/local/share/lua/5.3
install -m644 ltn12.lua socket.lua mime.lua /usr/local/share/lua/5.3
install -d /usr/local/share/lua/5.3/socket
install -m644 http.lua url.lua tp.lua ftp.lua headers.lua smtp.lua /usr/local/share/lua/5.3/socket
install -d /usr/local/lib/lua/5.3/socket
install socket-3.0-rc1.so /usr/local/lib/lua/5.3/socket/core.so
install -d /usr/local/lib/lua/5.3/mime
install mime-1.0.3.so /usr/local/lib/lua/5.3/mime/core.so

加载试试:

pi@rpi /opt/software/lua-5.3.2 $ lua
Lua 5.3.2  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> require("socket")
table: 0x86f878
> soc = require("socket")
> print(soc._VERSION)
LuaSocket 3.0-rc1
> 

很好, 现在树莓派上可以用 luasocket 跑一个服务端, 在 iPad 上用 Codea 跑一个客户端, 就可以通过 iPad 控制树莓派了.

另外一种直接在启动 lua 时加载 socket 的方法如下:

pi@rpi ~/code-staff/lua-code $ lua -lsocket
Lua 5.3.2  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> 

这样就直接加载进去了, 不需要再 require.

© 著作权归作者所有

FreeBlues
粉丝 99
博文 280
码字总数 493678
作品 0
其它
程序员
私信 提问
quick-cocos2d-x 中的 socket 技术选择:LuaSocket 和 WebSocket

在 quick-cocos2d-x 中,默认集成了 LuaSocket 和 WebSocket 两个 Socket 库。那么,在开发需要长连接的手机游戏时,应该选择哪个库呢?下面从几个方面进行比较: 跨平台; 易用性; 性能; ...

千山万水
2013/11/26
1K
1
Lua 5.1.5编译安装luasocket2.0.x时发现的问题及“粗暴”的解决办法

最近往正式的服务器部署nginx+lua+redis的环境。 虽然内网安装的时候很苦逼,但是没出什么奇怪的问题,很顺利的就装完了。可今天往线上部署的时候就遇到奇怪的问题了。 去外网服务器发现ngi...

最二冰蓝
2013/11/26
2.9K
0
【最新版】从零开始在 macOS 上配置 Lua 开发环境

脚本语言,你可能更需要的是 Lua 不同的脚本语言有不同的特性,第一接触的脚本语言,可能会影响自己对整个脚本语言的理解和认知。我以前接触最多的脚本语言是 JavaScript。后果就是:我一度以...

ios122
2017/11/10
0
0
在lua 中启用luasock的问题

安装 luasocket # wget http://luaforge.net/frs/download.php/2664/luasocket-2.0.2.tar.gz tar zxvf luasocket-2.0.2.tar.gz cd luasocket-2.0.2 make make install 在lua 中启用luasock的......

mickelfeng
2016/09/21
21
0
【LuaJIT版】从零开始在 macOS 上配置 Lua 开发环境

前言 这篇文章针对的是基于 LuaJIT 的环境配置。借助于 LuaJIT,Lua 的执行效率可以进一步提升几十倍。如果你不是很清楚自己是需要 Lua 还是 LuaJIT,那么建议你从 LuaJIT 起步。LuaJIT 对应...

ios122
2017/11/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 调查人员问狗 那你在做什么啊?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐:《Let It Be》- John Denver 《Let It Be》- John Denver 手机党少年们想听歌,请使劲儿戳(这里) @FalconChen :每天看一遍,...

小小编辑
今天
6
0
高效程序员的45个习惯总结版-文末脑图

1 做事 一个重大的错误应该被当做一次学习而不是指责他人的机会,团队成员一起工作,应该互相帮助,而不是互相指责 2 欲速则不达 不要为了修复问题而去修复,要投入时间和精力保持代码整洁 ...

阿提说说
今天
18
0
带南海九段线分位数地图可视化(R语言版)

今天带来一篇承诺虾神的可视化博客。内容是使用R语言进行带南海九段线分位数地图可视化。虾神的原博文地址如下(Python版)。 Python实现带南海九段线分位数地图完整可视化版本(附代码及数据...

胖胖雕
今天
12
0
Nginx 的进程结构,你明白吗?

Nginx 进程结构 这篇文章我们来看下 Nginx 的进程结构,Nginx 其实有两种进程结构: 单进程结构 多进程结构 单进程结构实际上不适用于生产环境,只适合我们做开发调试使用。因为在生产环境中...

武培轩
今天
20
0
蓝鲸平台部署

环境 系统:Centos7 依赖包:java8 主机: 10.0.1.150 域名:paas.ops.net;cmdb.ops.net;job.ops.net 生成SSH key ssh-keygen -t rsa -P '' 生成证书 https://bk.tencent.com/download_ssl/......

以谁为师
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部