一、背景

最近在操作redis的时候,有些时候是需要原子操作的,而redis中支持lua脚本,因此为了以后学习lua,此处记录一下 lua的安装。

二、mac上安装lua

其余的系统上安装lua步骤大概相似。

1、访问lua下载页面

访问 lua下载链接 https://www.lua.org/download.html

2、通过源码安装lua

1、下载lua

curl -R -O http://www.lua.org/ftp/lua-5.4.3.tar.gz

2、解压

tar -zxvf lua-5.4.3.tar.gz

3、进入lua目录

cd lua-5.4.3

4、执行make命令

make

执行make命令,如果make出错,参考make出错的处理

执行完make命令后在我们的src目录下会存在lualuacliblua.a文件

5、检测lua是否构建正确

$ make test
./lua -v
Lua 5.4.3 Copyright (C) 1994-2021 Lua.org, PUC-Rio

输出了版本号说明是构建正确的

6、安装lua

$ sudo make all install
Password:
Guessing Darwin
/Library/Developer/CommandLineTools/usr/bin/make all SYSCFLAGS="-DLUA_USE_MACOSX -DLUA_USE_READLINE" SYSLIBS="-lreadline"
make[3]: Nothing to be done for `all'.
cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.4 /usr/local/lib/lua/5.4
cd src && install -p -m 0755 lua luac /usr/local/bin
cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h lua.hpp /usr/local/include
cd src && install -p -m 0644 liblua.a /usr/local/lib
cd doc && install -p -m 0644 lua.1 luac.1 /usr/local/man/man1

如果没有权限就加上sudo

7、验证lua是否安装成功

 $ lua -v
Lua 5.4.3 Copyright (C) 1994-2021 Lua.org, PUC-Rio

输出了版本号就说明安装成功了。

三、make出错的处理

如果我们的make命令在执行的时候报错了,那么我们可以执行 make help命令,此时控制台上会输出如下内容。

 $ make help
Do 'make PLATFORM' where PLATFORM is one of these:
guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
See doc/readme.html for complete instructions.

我们根据上方列出的支持的平台执行 make 具体的平台,比如我的是 mac,那么我们这个地方执行 make macosx

四、linux平台make命令额外的处理



谷歌翻译的结果:

如果您正在运行 Linux,请尝试使用“make linux-readline”来构建具有方便的行编辑和历史功能的交互式 Lua 解释器。 如果出现编译错误,请确保已安装 readline 开发包(可能名为 libreadline-dev 或 readline-devel)。 如果之后出现链接错误,请尝试“make linux-readline MYLIBS=-ltermcap”。

五、参考链接

1、https://www.lua.org/download.html

2、http://www.lua.org/manual/5.4/readme.html

mac上安装lua的更多相关文章

  1. [Lua]mac 上安装lua

    mac 安装lua google了好个看起来都不怎么好操作.这个是在命令行下操作的非常easy. curl -R -O http://www.lua.org/ftp/lua-5.2.3.tar.gz ...

  2. mac 上安装lua

    mac 安装lua google了好个看起来都不怎么好操作,这个是在命令行下操作的很简单. http://www.lua.org/download.html curl -R -O http://www ...

  3. 转载 ----MAC 上搭建lua

    MAC 上搭建lua   其实mac上搭建lua环境,google上大把资料,我只是整合一下,因为小弟搭建的时候确实碰到一些问题. 下载和安装lua:(转自这里) 1.  下载最新版的lua-5.2. ...

  4. 在Mac上安装IntelliJ IDEA

    这篇文章旨在介绍如何在Mac系统上安装IntelliJ IDEA,至于IntelliJ IDEA的介绍和使用方法,大家另行查阅,本篇的文章不再详细阐述. 简短解说,IntelliJ IDEA是可以用来 ...

  5. Mac上安装brew

    用过ubuntu系统的都知道,上面有一个命令apt-get 很方便可以快速的安装很多软件 特别lamp环境 都是一键安装. 在mac上也有类似的命令 brew brew用法可以访问官网地址  http ...

  6. debian上安装lua编辑器

    Debian服务器上安装lua 1)下载压缩包 wget http://www.lua.org/ftp/lua-5.1.4.tar.gz 2)解压文件 tar  zxvf lua-5.1.4.tar. ...

  7. mac 上安装服务,查看服务,重启和关闭

    首先了解下的Mac的 homebrew ,官网:https://brew.sh/index_zh-cn.html 简单的说: Homebrew 能干什么? 答:使用 Homebrew 安装 Apple ...

  8. Mac上安装brew 包管理工具

    Mac 上的包管理工具对于开发者来说是一件非常方便的工具,能够有效的对包进行管理. 所以这篇博客就来简单的讲一下brew 的安装和一些基础命令. brew 全称叫做Homebrew . 1. 首先来说 ...

  9. Mac上安装Charles进行抓包全流程设置

    安装 -- 官网下载最新版的Charles版本,按照提示安装即可 破解 -- https://blog.csdn.net/qq_25821067/article/details/79848589. M ...

随机推荐

  1. fwm环境APP菜品数据加载失败的优化操作

    1)在项目的.env文件中添加如下一行: RESPONSE_CACHE_ENABLED=true 2)拷贝 laravel-worker.conf.example,将laravel字段替换为域名,并执 ...

  2. 前缀树及其Java实现

    前缀树 基础知识 Trie树.又称之为单词查找树或者键树,是一种树形结构.应用于统计和排序大量的字符串.常被搜索引擎系统用于文本词频统计.它的优点:能够最大限度的减少无谓的字符串比较,查询效率比哈希表 ...

  3. freeswitch编译安装依赖

    ncurses:提供字符界面 zlib:数据压缩 libjpeg:JPEG图片格式数据的解码/编码/其他. lua:lua解释器 libedit:一种编辑操作的库,对一些可以交互操作的场景,或转为了自 ...

  4. vim中字符串的替换

    vi/vim 中可以使用 :s 命令来替换字符串 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky : ...

  5. apachectl命令

    Linux apachectl命令可用来控制Apache HTTP服务器的程序. apachectl是slackware内附Apache HTTP服务器的script文件,可供管理员控制服务器,但在其 ...

  6. JavaScript深拷贝实现方式

    1.递归 function deepCope (obj) { // 要拷贝的数据为引用类型属性(数组或对象) if (obj && typeof obj === 'object') { ...

  7. 在 vue-cli 项目中 使用elementUI 的“自定义主题”功能

    1.安装elementUI $ npm i element-ui -S 2.安装主题工具 npm i element-theme -g 3.安装chalk主题 npm 安装 npm i element ...

  8. python中字符串的各种方法

     图片来源见水印,一个学python的公众号

  9. Java大数操作

    Java的Math包中提供了两个类用于对大数进行操作: BigInteger类,用于大整数的操作 BigDecimal类,用于大的小数操作 BigInteger类 Java中的基本类型中,表示整数的有 ...

  10. Loadrunner拼装唯一值方法

    由于Loadrunner函数有限性,唯一值需要几个函数的字符串进行拼装,可实现流水号.订单号等等数值的唯一性.具体可见下列方法: 方法一: char OraderID[15];srand(time{N ...