macOS
brew install lualocal Homebrew formula metadata
sudo port install luaMacPorts ports tree · lang/lua/Portfile · source: api.github.com
brew
Powerful, lightweight programming language. Version 5.5.0 via Homebrew; verified 2026-06-19.
install
brew install lualocal Homebrew formula metadata
sudo port install luaMacPorts ports tree · lang/lua/Portfile · source: api.github.com
sudo dnf install compat-luaFedora Rawhide package metadata · compat-lua · source: dl.fedoraproject.org
nix profile install nixpkgs#luanixpkgs package indexes · lua · source: raw.githubusercontent.com
sudo pacman -S luaArch Linux sync databases · lua · source: geo.mirror.pkgbuild.com
sudo zypper install lua53openSUSE Tumbleweed package metadata · lua53 · source: download.opensuse.org
sudo apk add lua5.5Alpine Linux edge package indexes · lua5.5 · source: dl-cdn.alpinelinux.org
choco install LuaChocolatey community package catalog · Lua · source: community.chocolatey.org
scoop install main/luaScoop official bucket manifest trees · bucket/lua.json · source: api.github.com
winget install --id DEVCOM.Lua -eWindows Package Manager source index · DEVCOM.Lua · source: cdn.winget.microsoft.com
overview
Powerful, lightweight programming language
history
Lua is a lightweight, embeddable scripting language developed at PUC-Rio in Brazil. The Homebrew lua package represents the mainline Lua runtime and compiler, exposing the lua interpreter and luac compiler for interactive use, scripting, embedding, and bytecode compilation.
Lua was created in 1993 at PUC-Rio as an extension and configuration language. Official Lua history material frames its evolution from a simple in-house configuration language into a widely used embeddable language with tables, lexical scoping, closures, coroutines, and a small portable C implementation.
The official reference manual emphasizes Lua's dual identity: it is both a standalone interpreter and a library designed to be embedded in host programs. This design made Lua attractive for applications that wanted scripting without carrying a large runtime. The distribution is source-first, written in clean C, and builds on common Unix-like platforms with a small Makefile-driven process.
Lua 5.x shaped the package-manager era of Lua. Lua 5.1 became historically important because LuaJIT targets the 5.1 language family; Lua 5.2, 5.3, 5.4, and 5.5 continued the standard interpreter line with API and virtual-machine changes. The official version history records Lua 5.5.0 released on 22 Dec 2025 with global-variable declarations, named vararg tables, more compact arrays, and incremental major garbage collections.
Lua's adoption has been driven by embedding. The official manual describes using C functions to extend Lua into domain-specific languages, and the official readme says Lua is used in many products and projects around the world. Its small C implementation made it popular in games, applications, embedded systems, network software, and tools that need a scripting layer.
Package managers package Lua both as a current interpreter and as versioned formulas because ABI and language-version differences matter. The supplied package-manager facts show broad distribution across Homebrew, apk, Chocolatey, dnf, MacPorts, Nix, pacman, Scoop, winget, and zypper, while separate packages such as lua@5.4 preserve older minor series for applications and libraries that cannot jump runtime versions.
Users run lua for interactive or batch scripts, run luac to compile Lua chunks, or embed liblua in a host application. Lua programs often use LuaRocks or distribution packages for modules, but the core runtime itself does not use a project-level config file or credentials file.
For packagers, the important usage detail is that different Lua minor versions are not ABI compatible. The official version history states that different versions can have different APIs and virtual machines, so applications embedding Lua and C libraries for Lua must be rebuilt for a new version.
Lua is a package-manager staple because it is simultaneously a user-facing scripting language, an embeddable C library, and the dependency underneath many other tools. Package nerds care about which minor series a formula installs, how executable names are versioned, whether luac is included, and how Lua modules find the matching runtime.
security posture
doc example: interpreter runtime.
yellow risk · high confidence · runtime
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
lua | cli | global executable | |
lua-5.5 | cli | global executable | |
lua5.5 | cli | global executable | |
luac | cli | global executable | |
luac-5.5 | cli | global executable | |
luac5.5 | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:lua |
|---|---|
| Version | 5.5.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/lua |
| Homepage | https://www.lua.org/ |
| Repository | https://github.com/lua/lua |
| Upstream docs | https://www.lua.org/manual |
| License | MIT |
| Source archive | https://www.lua.org/ftp/lua-5.5.0.tar.gz |
| Last updated | 2026-06-19T12:31:49-07:00 |
| Pulse | updated |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
| Caveats | You may also want luarocks: brew install luarocks |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | lua |
| Aliases |
|
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
lua
nix profile install nixpkgs#luacompat-lua 5.1.5-31.fc44
Powerful light-weight programming language (compat version)
sudo dnf install compat-lualua 5.5.0-1.fc45
Powerful light-weight programming language
sudo dnf install lualua-devel 5.5.0-1.fc45
Development files for lua
sudo dnf install lua-devellua-libs 5.5.0-1.fc45
Libraries for lua
sudo dnf install lua-libslua-static 5.5.0-1.fc45
Static library for lua
sudo dnf install lua-staticlua5.4-libs 5.5.0-1.fc45
Compat libraries for lua5.4
sudo dnf install lua5.4-libslua 5.5.0-2
Powerful lightweight programming language designed for extending applications
sudo pacman -S lualua53 5.3.6-4.4
Small Embeddable Language with Procedural Syntax
sudo zypper install lua53lua54 5.4.8-4.4
Small Embeddable Language with Procedural Syntax
sudo zypper install lua54lua55 5.5.0-1.4
Small Embeddable Language with Procedural Syntax
sudo zypper install lua55luajit 2.1.20250826-2.3
JIT compiler for Lua language
https://github.com/openresty/luajit
sudo zypper install luajitlua
sudo port install luaLua
choco install Luamain/lua
scoop install main/luaDEVCOM.Lua
winget install --id DEVCOM.Lua -esource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.