lua包管理器luarocks使用

下载lua

1) 这边用lua 5.1.5

exe文件

  LuaBinaries - Browse /5.1.5/Tools Executables at SourceForge.net,下载lua-5.1.5_Win64_dll15_lib.zip, 后面会用vc来编译代码

  文件名解释:dll15表示vs2017的编译器,dllg4表示cygwin gcc4.x的编译器, dllw4表示4表示MingW gcc4的编译器

头文件,dll文件

  LuaBinaries - Browse /5.1.5/Windows Libraries/Dynamic at SourceForge.net,下载lua-5.1.5_Win64_bin.zip

 

2) 将它们解压到相关文件夹

lua51.dll是为了兼容,仅仅将调用全部转给lua5.1.dll

3) 将exe所在的文件夹加到环境变量Path下

4) 检查lua是否可在命令行运行

 


下载luarocks

1) 下载地址

  luarocks.github.io/luarocks/releases/,下载luarocks-3.11.1-windows-64.zip

2) 将其解压到相应文件夹

3) 将文件夹添加到环境变量

注意放在lua exe文件夹的上方,防止先调用lua内置的luarocks

4) 测试是否成功

环境变量添加成功了,但是luarocks配置有点问题

 


配置luarocks

  • luarocks config -h, 可以查看配置的帮助说明

  • 把默认版本设置为5.1

会在AppData下生成配置文件

  •  设置lua文件夹

  • 设置lua lib文件夹

  •  设置lua lib头文件所在文件夹

 


安装第3方lua包(库)

有的lua包会需要编译,默认会用MingW,我们这边用vc编译器

打开vs2017的编译器命令行,因为上面都是用的x64架构的,所以也要打开x64的命令行

输入 luarocks install luasocket

dll文件生成路径:C:\Users\win\AppData\Roaming\luarocks\lib\lua\5.1\

lua文件生成路径:C:\Users\win\AppData\Roaming\luarocks\share\lua\5.1\

 源码下载路径:C:\Users\win\AppData\Roaming\luarocks\lib\luarocks\

 


测试代码

复制代码
package.path = package.path..";C:/Users/win/AppData/Roaming/luarocks/share/lua/5.1/?.lua"
package.cpath = package.cpath..";C:/Users/win/AppData/Roaming/luarocks/lib/lua/5.1/?.dll"

local socket = require("socket")
print(socket._VERSION)
local http = require("socket.http")

-- 发起 GET 请求
local response_body, response_code, response_headers = http.request("http://httpbin.org/get")

print("Response Code: " .. response_code)
print("Response Body:")
print(response_body)
复制代码

运行结果

 


其他命令行参数

  • 指定在哪个版本上config:

luarocks --lua-version 5.1 config variabls.LUA_LIBDIR c:\_softs\lua51_x64_lib

  • 显示默认文件夹下已安装的lua包

  • 显示指定文件夹下已安装的lua包

 


参考

lua以及luarocks的安装(windows10) - 知乎

Windows平台lua包管理工具luarocks的安装 - 哔哩哔哩

Lua 包管理 – Luarocks 使用指南 | 码农家园

luarocks 的基本使用 - 潼关路边的一只野鬼 - 博客园

关于luasocket的编译和部署_luasocket编译-CSDN博客

 

posted @   yanghui01  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示