三个东西要区分

是什么
Lua 官方解释器(5.4 当前)
LuaJIT Mike Pall 出的 JIT 实现,兼容 Lua 5.1 + 自家扩展
luarocks Lua 的包管理器(像 pip / npm)

安装 Lua 5.4

macOS

brew install lua
lua -v          # Lua 5.4.x

Linux

# Debian / Ubuntu
sudo apt install lua5.4

# CentOS / Rocky / Fedora
sudo dnf install lua

# 源码(任意 Unix)
curl -L https://www.lua.org/ftp/lua-5.4.7.tar.gz | tar xz
cd lua-5.4.7 && make linux && sudo make install

Windows

最省事 scoop

scoop install lua

LuaForWindows(自带 luarocks,但版本老)。

安装 LuaJIT(可选)

要做 Web / 高性能场景:

# macOS
brew install luajit

# Linux
sudo apt install luajit
# 或源码:git clone https://luajit.org/git/luajit.git && cd luajit && make && sudo make install
luajit -v       # LuaJIT 2.1.x

注意:LuaJIT 长期停在 Lua 5.1 语法。要用 5.4 新特性?只能用官方 Lua。

REPL

$ lua
Lua 5.4.7  Copyright (C) 1994-2024 Lua.org, PUC-Rio
> print("hello")
hello
> = 1 + 2          -- = 是 print 的别名(5.4)
3
> 1 + 2            -- 不加 = 不打印
> x = 10
> = x * 2
20
> os.exit()

第一个脚本

hello.lua

print("Hello, Lua " .. _VERSION)
$ lua hello.lua
Hello, Lua Lua 5.4

.. 是字符串连接,_VERSION 是内置全局。

shebang

#!/usr/bin/env lua
print("scripted")
chmod +x hello.lua
./hello.lua

luarocks 安装

# Linux / macOS
sudo apt install luarocks
# 或 brew install luarocks
# 或 https://luarocks.org/ 源码安装

luarocks --version

装包

luarocks install lpeg               # 全局
luarocks install penlight --local   # 用户目录(~/.luarocks)

--local 是推荐做法——不污染系统。

在脚本里用

local pl = require("pl.pretty")
pl.dump({a = 1, b = {2, 3}})

编辑器

工具 优势
VSCode + sumneko/lua-language-server 语法、跳转、补全最完整
Neovim Lua 是它的配置语言,原生友好
ZeroBrane Studio 老牌 Lua-only IDE,自带调试
IntelliJ + EmmyLua JVM 党 / Roblox 偏好

lua-language-server 几乎是事实标准——VSCode、Neovim、Sublime 都接。

验证

-- check.lua
print("Lua 版本:", _VERSION)
print("整数:", 1 // 2)        -- 整数除法(5.3+)
print("位运算:", 0xFF & 0x0F)  -- 5.3+

如果第 2 / 3 行报错——你装的是 5.1 / LuaJIT 而非 5.3+。

→ 下一篇 基本语法