pkg.sopackage field notes

brew / rank 244

Install lua with Homebrew

Powerful, lightweight programming language. Version 5.5.0 via Homebrew; verified 2026-06-19.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install lua

provider-native install command

overview

Package summary

Powerful, lightweight programming language

Commands and aliases

  • lua
  • lua-5.5
  • lua5.5
  • luac
  • luac-5.5
  • luac5.5

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 1993: Lua was born at PUC-Rio in Brazil.
  • 2000: Lua 4.0 was released, closing the era covered by the first official HOPL history paper.
  • 2015: Lua 5.3 introduced integers, bitwise operators, a basic UTF-8 library, and 32/64-bit support.
  • 2020: Lua 5.4 introduced a new generational garbage collector mode and const/to-be-closed variables.
  • 2025: Lua 5.5.0 was released with global-variable declarations and other language/runtime changes.

Related projects

  • LuaJIT is a major alternative implementation associated with Lua 5.1 compatibility.
  • LuaRocks is the common Lua module package manager used alongside distribution Lua packages.
  • LuaLS and Luacheck are developer tools in the Lua ecosystem that depend on Lua language semantics.
  • PUC-Rio and Lua.org are the official institutional and project homes for the reference implementation.

security posture

Risk level: yellow

doc example: interpreter runtime.

Risk classifier

yellow risk · high confidence · runtime

Why

  • doc example: interpreter runtime

Signals

  • override:lua

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
luaexecutableindexed executableDiscovered from the local executable index.
lua-5.5executableindexed executableDiscovered from the local executable index.
lua5.5executableindexed executableDiscovered from the local executable index.
luacexecutableindexed executableDiscovered from the local executable index.
luac-5.5executableindexed executableDiscovered from the local executable index.
luac5.5executableindexed executableDiscovered from the local executable index.

freshness

Version and 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.

page generated2026-08-03
manager version5.5.0
manager updated2026-06-19
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:lua
Version5.5.0
Package managerHomebrew
Homepagehttps://www.lua.org/
Last updated2026-06-19T12:31:49-07:00
Pulseupdated
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • curated package history
  • pkgdb category and tag curation