Lua 包管理 - Luarocks 使用指南

  • 一、luarocks 介绍
  • 二、安装配置 luarocks
    • 1. 准备lua环境
      • 1.1 下载可Lua执行文件
      • 1.2 下载Lua库文件
      • 1.3 解压
    • 2. C/C++编译环境
    • 3. 下载luarocks && 安装
    • 4. 配置luarocks,指定lua环境目录
  • 三、使用luarocks
    • 3.1. 使用luarocks 安装库
    • 3.2 查看rock
    • 3.3 卸载已经安装的库
  • 四、开发Luarocks库
    • 4.1 创建 luarocks 项目
    • 4.2 安装本地项目
    • 4.3 运行项目测试
    • 4.4 上传

注 :

本文主要基于windows平台进行讲解,Linux 下的操作类似(并且相关的文章很多)

本文简要说明一些常用操作,具体可参看 官方文档 : https://github.com/luarocks/luarocks/wiki/Documentation

一、luarocks 介绍

Luarocks 是一个下载、管理lua的第三方包的命令行工具。

  • 支持本地和远程存储库。
  • 安装第三方包,一键式安装。(包中如果使用到C库,会在安装的时候使用编译器进行构建)

二、安装配置 luarocks

1. 准备lua环境

1.1 下载可Lua执行文件

Lua53可执行文件

1.2 下载Lua库文件

lua动态库

1.3 解压

把上面下载文件 解压到一个目录
[可选] :将目录加入环境变量Path, 方便在控制台直接使用 Lua

2. C/C++编译环境

这个作为开发人员应该是有的,VisualStudio / MinGW 均可

注:
这个其实不是必须的,主要看你需要使用的第三方Lua库,如果库是C库 那么luarocks在安装库时需要编译

3. 下载luarocks && 安装

http://luarocks.github.io/luarocks/releases/

将存放解压后文件的目录添加到环境变量 Path 中, 方便直接在命令行使用 luarocks
设置好后 重启计算机使环境变量生效

4. 配置luarocks,指定lua环境目录

作者的lua环境目录是:E:\Lua\lua53X64
后面均以这个为例

luarocks config lua_dir E:\Lua\lua53X64

执行后 显示

Wrotelua_interpreter = "lua53.exe"variables.LUA_BINDIR = "E:\\Lua\\lua53X64"variables.LUA_DIR = "E:\\Lua\\lua53X64"variables.LUA_INCDIR = "E:\\Lua\\lua53X64/include"variables.LUA_LIBDIR = "E:\\Lua\\lua53X64"
toC:/Users/name/AppData/Roaming/luarocks/config-5.3.lua

注:

  • 这一步如果报错,需要在C:/Users/name/AppData/Roaming/ 手动创建一个 luarocks 文件夹
  • 另外可以根据实际情况分别指定不同的环境值 比如 LUA_INCDIR 等

三、使用luarocks

3.1. 使用luarocks 安装库

以安装 luasocket 为例,luasocket 中包含c代码,作者使用 VS 作为编译器

  • 运行VS X64 控制台

  • 执行命令 luarocks install luasocket
    默认会把lua包安装在 C:\Users\Administrator\AppData\Roaming/luarocks
    其实可以指定 包的安装目录,如安装在 G:\test,可以执行 luarocks --tree=G:\test install luasocket
    指定目录安装为例,运行结果如下:

3.2 查看rock

luarocks show --tree=G:\test luasocket
查看刚刚安装的 luasocket

3.3 卸载已经安装的库

luarocks remove --tree=G:\test luasocket

四、开发Luarocks库

如果你想开发一个 lua 库,托管在 Luarocks 给别的开发者使用,或者参与别人的一些开源库项目。Luarocks 工具本身提供了很多支持。

4.1 创建 luarocks 项目

cd G:\TestDev
luarocks init TestLib 1.0

4.2 安装本地项目

luarocks --tree=G:\Test make


这个命令可以方便在开发过程中构建并且安装在本地使用

4.3 运行项目测试

luarocks test
运行项目的单元测试,测试规则和依赖可以在 rockspec 文件中指定

4.4 上传

luarocks upload

这个命令需要用到密钥,可以注册Luarocks账号 获得

Lua 包管理 - Luarocks 使用指南相关推荐

  1. Anaconda安装和使用指南教程:环境管理、包管理、离线安装第三方包

    本文介绍anaconda的安装,和使用anaconda对Python进行环境管理. Anaconda安装和使用指南教程 1 概述 2 安装 3 环境管理 3.1 检查conda 3.2 创建环境 3. ...

  2. 五种常见 Linux 系统安装包管理工具中文使用指南

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 介绍常见 Linux 操作系统的安装包管理工具,主要介绍其使用命令! 包管理系统除了安装软件外,它还提供了工具来更 ...

  3. opm openresty的包管理器-中文文档

    2022年1月11日13:57:45 官方:https://opm.openresty.org/ 官方文档:https://opm.openresty.org/docs#table-of-conten ...

  4. Pipenv – 超好用的 Python 包管理工具

    pipenv 是什么 pipenv 是 python 官方推荐的包管理工具,集成了 virtualenv.pyenv 和 pip 三者的功能于一身,类似于 php 中的 composer. 我们知道, ...

  5. Helm包管理工具(简介、安装、方法)

    认识Helm 每次我们要部署一个应用都需要写一个配置清单(维护一套yaml文件),但是每个环境又不一样.部署一套新的环境成本是真的很高.如果我们能够使用类似于yum的工具来安装我们的应用的话那就太好了 ...

  6. 《SAP CRM管理与实施指南》一一2.2 SAP CRM基础功能

    本节书摘来自华章计算机<SAP CRM管理与实施指南>一书中的第2章,第2.2节,作者:邹荫文 著,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.2 SA ...

  7. k8s包管理器helm_kubernetes包管理神器-Helm

    在我们学习 kubernetes 的过程中,用的最多的是 kubectl 命令行工具,使用 kubectl 工具需要我们编写好各种部署文件,这在生产中是非常不方便的,因此 Helm 这个 kubern ...

  8. 5款最适合新手的包管理器

    在 Linux 中,包管理器非常重要,知道如何使用多种包管理器可以让你像一个高手一样活得很舒适,从在仓库下载软件.安装软件,到更新软件.处理依赖和删除软件是非常重要的,这也是Linux 系统管理的一个 ...

  9. npm 包管理器_导演电影解释了节点软件包管理器(NPM)

    npm 包管理器 by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) If you understand the general way that Hollywoo ...

  10. anaconda下载的python在哪_python包管理器anaconda介绍安装和使用

    在Python中,安装第三方模块,是通过包管理工具pip完成的.用pip一个一个安装费时费力,还需要考虑兼容性.我们推荐直接使用anaconda,这是一个基于Python的数据处理和科学计算平台,它已 ...

最新文章

  1. XML 特殊字符处理和 CDATA
  2. Android SDK 更新不下来解决方法
  3. 我国量子计算机真假,中国半导体量子芯片研究获得突破:首次实现三量子比特逻辑门...
  4. 2018年春季个人阅读计划
  5. sicily 1150. 简单魔板
  6. mysql导入导出数据库文件(转载)
  7. 【转】MFC学习总结
  8. java seteditable,Java TextField.setEditable方法代碼示例
  9. 好玩Python--分析你的微信好友签名
  10. TensorFlow2.0:张量排序
  11. cron风格定时器_QuartzCron表达式在线生成-在线QuartzCron定时器表达式生成工具
  12. CA系统的加解扰与接收控制
  13. 华为交换机Hybird 与 单臂路由
  14. PWM波的原理和应用
  15. 计算机学院运动会加油,学校运会加油稿
  16. vivado仿真无法运行,停滞,跑不下去的一种解决办法
  17. 字体反爬案例解析:大众点评
  18. 爱快可以外接文件服务器吗,听说爱快路由器也支持NAS了?
  19. 2010页游报告:开测222款31款停运
  20. fedora linux搜狗输入法,在Fedora 28系统下安装搜狗输入法

热门文章

  1. imperva数据库脱敏-server2008
  2. Matlab:excel文件 转 txt文件 (只需2行代码)
  3. js的中文在网页中显示为乱码
  4. tcpdf不支持html,TCPDF:无法从HTML输入生成PDF文件
  5. 一文解读该用开源BI工具还是智能BI工具?
  6. h5分享图片到微信好友、微信朋友圈、qq好友功能
  7. 用Python网络爬虫来抓取网易云音乐歌词
  8. 用计算机思维认识摩斯密码(摩斯密码速记)
  9. SpringBoot接口接收json参数
  10. 嵌入式linux应用开发完全手册 第2版面市