mac上安装lua
一、背景
最近在操作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目录下会存在lua、luac和liblua.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的更多相关文章
- [Lua]mac 上安装lua
mac 安装lua google了好个看起来都不怎么好操作.这个是在命令行下操作的非常easy. curl -R -O http://www.lua.org/ftp/lua-5.2.3.tar.gz ...
- mac 上安装lua
mac 安装lua google了好个看起来都不怎么好操作,这个是在命令行下操作的很简单. http://www.lua.org/download.html curl -R -O http://www ...
- 转载 ----MAC 上搭建lua
MAC 上搭建lua 其实mac上搭建lua环境,google上大把资料,我只是整合一下,因为小弟搭建的时候确实碰到一些问题. 下载和安装lua:(转自这里) 1. 下载最新版的lua-5.2. ...
- 在Mac上安装IntelliJ IDEA
这篇文章旨在介绍如何在Mac系统上安装IntelliJ IDEA,至于IntelliJ IDEA的介绍和使用方法,大家另行查阅,本篇的文章不再详细阐述. 简短解说,IntelliJ IDEA是可以用来 ...
- Mac上安装brew
用过ubuntu系统的都知道,上面有一个命令apt-get 很方便可以快速的安装很多软件 特别lamp环境 都是一键安装. 在mac上也有类似的命令 brew brew用法可以访问官网地址 http ...
- 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. ...
- mac 上安装服务,查看服务,重启和关闭
首先了解下的Mac的 homebrew ,官网:https://brew.sh/index_zh-cn.html 简单的说: Homebrew 能干什么? 答:使用 Homebrew 安装 Apple ...
- Mac上安装brew 包管理工具
Mac 上的包管理工具对于开发者来说是一件非常方便的工具,能够有效的对包进行管理. 所以这篇博客就来简单的讲一下brew 的安装和一些基础命令. brew 全称叫做Homebrew . 1. 首先来说 ...
- Mac上安装Charles进行抓包全流程设置
安装 -- 官网下载最新版的Charles版本,按照提示安装即可 破解 -- https://blog.csdn.net/qq_25821067/article/details/79848589. M ...
随机推荐
- fwm环境APP菜品数据加载失败的优化操作
1)在项目的.env文件中添加如下一行: RESPONSE_CACHE_ENABLED=true 2)拷贝 laravel-worker.conf.example,将laravel字段替换为域名,并执 ...
- 前缀树及其Java实现
前缀树 基础知识 Trie树.又称之为单词查找树或者键树,是一种树形结构.应用于统计和排序大量的字符串.常被搜索引擎系统用于文本词频统计.它的优点:能够最大限度的减少无谓的字符串比较,查询效率比哈希表 ...
- freeswitch编译安装依赖
ncurses:提供字符界面 zlib:数据压缩 libjpeg:JPEG图片格式数据的解码/编码/其他. lua:lua解释器 libedit:一种编辑操作的库,对一些可以交互操作的场景,或转为了自 ...
- vim中字符串的替换
vi/vim 中可以使用 :s 命令来替换字符串 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky : ...
- apachectl命令
Linux apachectl命令可用来控制Apache HTTP服务器的程序. apachectl是slackware内附Apache HTTP服务器的script文件,可供管理员控制服务器,但在其 ...
- JavaScript深拷贝实现方式
1.递归 function deepCope (obj) { // 要拷贝的数据为引用类型属性(数组或对象) if (obj && typeof obj === 'object') { ...
- 在 vue-cli 项目中 使用elementUI 的“自定义主题”功能
1.安装elementUI $ npm i element-ui -S 2.安装主题工具 npm i element-theme -g 3.安装chalk主题 npm 安装 npm i element ...
- python中字符串的各种方法
图片来源见水印,一个学python的公众号
- Java大数操作
Java的Math包中提供了两个类用于对大数进行操作: BigInteger类,用于大整数的操作 BigDecimal类,用于大的小数操作 BigInteger类 Java中的基本类型中,表示整数的有 ...
- Loadrunner拼装唯一值方法
由于Loadrunner函数有限性,唯一值需要几个函数的字符串进行拼装,可实现流水号.订单号等等数值的唯一性.具体可见下列方法: 方法一: char OraderID[15];srand(time{N ...