Lua安装 #
一、安装前的准备 #
1.1 系统要求 #
Lua 可以运行在几乎所有主流操作系统上:
| 操作系统 | 支持版本 |
|---|---|
| Windows | Windows 7 及以上 |
| macOS | macOS 10.10 及以上 |
| Linux | 所有主流发行版 |
| BSD | FreeBSD、OpenBSD 等 |
1.2 版本选择 #
推荐使用 Lua 5.4(最新稳定版)或 Lua 5.1(广泛兼容):
- Lua 5.4:最新特性,推荐新项目使用
- Lua 5.3:稳定版本,支持整数和位运算
- Lua 5.1:广泛支持,LuaJIT 兼容版本
- LuaJIT:高性能版本,速度极快
二、Windows 安装 #
2.1 使用安装包 #
- 下载安装包
访问 Lua 官方网站或第三方构建版本:
text
官方源码:https://www.lua.org/download.html
第三方构建:https://github.com/rjpcomputing/luaforwindows
- 使用 LuaForWindows
LuaForWindows 提供完整的 Windows 安装包:
text
1. 下载 LuaForWindows 安装程序
2. 运行安装程序,选择安装路径
3. 勾选"Add to PATH"选项
4. 完成安装
2.2 使用 Scoop 安装 #
powershell
# 安装 Scoop(如果没有)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
# 安装 Lua
scoop install lua
# 验证安装
lua -v
2.3 使用 Chocolatey 安装 #
powershell
# 安装 Chocolatey(如果没有)
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
# 安装 Lua
choco install lua
# 验证安装
lua -v
2.4 手动编译(高级) #
powershell
# 需要安装 Visual Studio 或 MinGW
# 下载源码
curl -LO https://www.lua.org/ftp/lua-5.4.6.tar.gz
tar xzf lua-5.4.6.tar.gz
cd lua-5.4.6
# 使用 MinGW 编译
mingw32-make mingw
mingw32-make install
三、macOS 安装 #
3.1 使用 Homebrew 安装(推荐) #
bash
# 安装 Homebrew(如果没有)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 Lua
brew install lua
# 验证安装
lua -v
3.2 安装 LuaJIT #
bash
# 安装 LuaJIT(高性能版本)
brew install luajit
# 验证安装
luajit -v
3.3 使用 MacPorts 安装 #
bash
# 安装 Lua
sudo port install lua
# 安装 LuaJIT
sudo port install luajit
3.4 手动编译 #
bash
# 下载源码
curl -LO https://www.lua.org/ftp/lua-5.4.6.tar.gz
tar xzf lua-5.4.6.tar.gz
cd lua-5.4.6
# 编译(macOS)
make macosx test
# 安装到系统
sudo make install
# 验证
lua -v
四、Linux 安装 #
4.1 Ubuntu/Debian #
bash
# 更新包列表
sudo apt update
# 安装 Lua 5.4
sudo apt install lua5.4
# 安装开发包(用于编译 C 扩展)
sudo apt install liblua5.4-dev
# 安装 LuaJIT
sudo apt install luajit
# 验证安装
lua5.4 -v
4.2 CentOS/RHEL/Fedora #
bash
# Fedora
sudo dnf install lua lua-devel
# CentOS/RHEL (需要 EPEL)
sudo yum install epel-release
sudo yum install lua lua-devel
# 验证安装
lua -v
4.3 Arch Linux #
bash
# 安装 Lua
sudo pacman -S lua
# 安装 LuaJIT
sudo pacman -S luajit
# 验证安装
lua -v
4.4 手动编译 #
bash
# 安装编译依赖
sudo apt install build-essential libreadline-dev
# 下载源码
curl -LO https://www.lua.org/ftp/lua-5.4.6.tar.gz
tar xzf lua-5.4.6.tar.gz
cd lua-5.4.6
# 编译 Linux 版本
make linux test
# 安装
sudo make install
# 验证
lua -v
五、安装 LuaRocks(包管理器) #
LuaRocks 是 Lua 的包管理器,用于安装和管理 Lua 模块。
5.1 Windows 安装 #
powershell
# 使用 Scoop
scoop install luarocks
# 或下载安装包
# https://luarocks.org/
5.2 macOS 安装 #
bash
# 使用 Homebrew
brew install luarocks
# 验证安装
luarocks --version
5.3 Linux 安装 #
bash
# Ubuntu/Debian
sudo apt install luarocks
# Fedora
sudo dnf install luarocks
# 从源码安装
wget https://luarocks.org/releases/luarocks-3.9.2.tar.gz
tar xzf luarocks-3.9.2.tar.gz
cd luarocks-3.9.2
./configure && make && sudo make install
5.4 使用 LuaRocks #
bash
# 搜索包
luarocks search json
# 安装包
luarocks install dkjson
# 列出已安装的包
luarocks list
# 卸载包
luarocks remove dkjson
六、开发环境配置 #
6.1 命令行工具 #
交互式解释器:
bash
$ lua
Lua 5.4.6 Copyright (C) 1994-2023 Lua.org, PUC-Rio
> print("Hello, Lua!")
Hello, Lua!
> -- Ctrl+D 或 os.exit() 退出
运行脚本:
bash
# 运行文件
lua script.lua
# 运行并传递参数
lua script.lua arg1 arg2
# 执行命令行代码
lua -e "print('Hello')"
6.2 VS Code 配置 #
- 安装扩展
推荐安装以下 VS Code 扩展:
text
- Lua (sumneko.lua) - 官方 Lua 语言服务器
- Lua Debug (actboy168.lua-debug) - 调试支持
- Lua Format (koiro.lua-format) - 代码格式化
- 配置 settings.json
json
{
"Lua.runtime.version": "Lua 5.4",
"Lua.diagnostics.enable": true,
"Lua.completion.enable": true,
"Lua.hint.enable": true,
"[lua]": {
"editor.defaultFormatter": "koiro.lua-format",
"editor.tabSize": 4,
"editor.insertSpaces": true
}
}
- 调试配置 launch.json
json
{
"version": "0.2.0",
"configurations": [
{
"type": "lua",
"request": "launch",
"name": "Debug Lua",
"program": "${file}",
"cwd": "${workspaceFolder}"
}
]
}
6.3 其他 IDE/编辑器 #
IntelliJ IDEA:
text
安装 EmmyLua 插件
提供完整的 Lua 开发支持
ZeroBrane Studio:
text
专为 Lua 设计的轻量级 IDE
内置调试器和静态分析
下载:https://studio.zerobrane.com/
Vim/Neovim:
vim
" 安装 vim-lua 插件
Plug 'tbastos/vim-lua'
" 配置
let g:lua_complete_omni = 1
Emacs:
elisp
;; 使用 lua-mode
(use-package lua-mode
:mode "\\.lua\\'"
:config
(setq lua-indent-level 4))
七、验证安装 #
7.1 检查版本 #
bash
# 检查 Lua 版本
lua -v
# 输出:Lua 5.4.6 Copyright (C) 1994-2023 Lua.org, PUC-Rio
# 检查 LuaJIT 版本
luajit -v
# 输出:LuaJIT 2.1.1692716794 -- Copyright (C) 2005-2023 Mike Pall.
7.2 测试脚本 #
创建测试文件 test.lua:
lua
-- test.lua
print("Lua 安装成功!")
print("版本:" .. _VERSION)
-- 测试基本功能
local arr = {1, 2, 3, 4, 5}
local sum = 0
for _, v in ipairs(arr) do
sum = sum + v
end
print("数组求和:" .. sum)
-- 测试表
local person = {
name = "Lua",
age = 30
}
print(string.format("姓名:%s,年龄:%d", person.name, person.age))
运行测试:
bash
lua test.lua
7.3 检查模块路径 #
bash
# 查看模块搜索路径
lua -e "print(package.path)"
lua -e "print(package.cpath)"
八、多版本管理 #
8.1 使用版本管理工具 #
bash
# 使用 asdf 管理 Lua 版本
asdf plugin add lua
asdf install lua 5.4.6
asdf global lua 5.4.6
# 使用 hererocks(Python 工具)
pip install hererocks
hererocks lua54 -l5.4 -r3.9
source lua54/bin/activate
8.2 手动多版本 #
bash
# 编译不同版本到不同目录
make linux INSTALL_TOP=/usr/local/lua54
make linux INSTALL_TOP=/usr/local/lua51
# 使用符号链接切换
ln -sf /usr/local/lua54/bin/lua /usr/local/bin/lua
九、常见问题 #
9.1 找不到 lua 命令 #
bash
# 检查 PATH 环境变量
echo $PATH
# 添加 Lua 到 PATH(bash)
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 添加 Lua 到 PATH(zsh)
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
9.2 模块找不到 #
lua
-- 设置模块路径
package.path = package.path .. ";/my/modules/?.lua"
package.cpath = package.cpath .. ";/my/cmodules/?.so"
9.3 编译错误 #
bash
# 安装必要的依赖
sudo apt install build-essential libreadline-dev
# 指定 readline 路径
make linux MYCFLAGS="-I/usr/include/readline" MYLDFLAGS="-L/usr/lib/readline"
十、总结 #
本章介绍了在各个操作系统上安装 Lua 的方法:
- Windows:使用安装包、Scoop 或 Chocolatey
- macOS:使用 Homebrew 或手动编译
- Linux:使用包管理器或手动编译
- LuaRocks:安装和使用包管理器
- 开发环境:配置 VS Code 和其他编辑器
安装完成后,你可以开始编写第一个 Lua 程序了!下一章,我们将编写 Hello World 程序并学习 Lua 的基本使用。
最后更新:2026-03-27