macOS
brew install luachecklocal Homebrew formula metadata
brew
Tool for linting and static analysis of Lua code. Version 1.2.0 via Homebrew; verified 2026-06-29.
install
brew install luachecklocal Homebrew formula metadata
sudo apk add luacheckAlpine Linux edge package indexes · luacheck · source: dl-cdn.alpinelinux.org
sudo apt install lua-checkDebian stable package indexes · lua-check · source: deb.debian.org
sudo pacman -S luacheckArch Linux sync databases · luacheck · source: geo.mirror.pkgbuild.com
sudo zypper install lua53-luacheckopenSUSE Tumbleweed package metadata · lua53-luacheck · source: download.opensuse.org
scoop install main/luacheckScoop official bucket manifest trees · bucket/luacheck.json · source: api.github.com
overview
Tool for linting and static analysis of Lua code
history
Luacheck is a command-line static analyzer and linter for Lua. It reports issues such as undefined globals, unused variables, uninitialized variables, unreachable code, and syntax errors, while allowing project-specific global sets and per-file configuration.
Luacheck began as a Lua linter by Peter Melnichenko, with the changelog recording 0.1.0 as the first release on 25 Mar 2014. Early releases quickly added command-line reporting, stdin and directory checking, config loading, Lua 5.2/5.3/LuaJIT syntax support, and the warning-code system that made the tool useful in editors and CI.
The project matured through the 0.x line by adding inline comments, caching, parallel checking, custom formatters, rockspec handling, and support for newer Lua versions. The README describes Luacheck as written in Lua, runnable on Lua 5.1 through 5.4 and LuaJIT, and configurable from CLI options, config files, or inline Lua comments.
In 2022 the project moved through the 1.0 milestone and adopted semver-oriented release expectations. Later changelog entries show package-maintenance work around Docker images, GitHub Actions, new builtin standard sets, NO_COLOR support, and Lua ecosystem integrations such as SILE, Ldoc, Playdate, and Minetest globals.
Luacheck was adopted because Lua's global-variable model makes typos and accidental globals easy to miss. Its support for named standard-global sets, project globals, inline suppressions, editor-oriented stable output, and recursive directory checking made it practical for projects that wanted CI linting without imposing a full type system.
The official README lists editor integrations for Vim/Syntastic, SublimeLinter, Atom, Emacs/Flycheck, Brackets, VS Code, Nova, Geany, Node.js bindings, Gulp, Docker, and GitHub Actions. The supplied package-manager facts show distribution packages for apk, Homebrew, Debian/Ubuntu, pacman, Scoop, and zypper.
Users run luacheck with files, directories, stdin, or rockspecs. The CLI returns distinct exit codes for clean runs, warnings, syntax or inline-option errors, file errors, and critical argument/config/cache errors, which makes it straightforward to wire into CI.
Configuration is usually a .luacheckrc file discovered from the current directory upward, a platform-specific default config path, or a custom --config path. Config files are Lua scripts that set options such as std, globals, read_globals, ignore, enable, line length, and per-path overrides.
Luacheck is the old reliable Lua linter package: small, scriptable, available as a CLI, and easy to connect to editors and CI. Package nerds care about it because it sits at the intersection of Lua versions, LuaRocks modules, editor plugins, and distribution packages, and because its config lookup behavior directly affects how projects lint in reproducible builds.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
~/Library/Application Support/Luacheck/.luacheckrc.luacheckrc$XDG_CONFIG_HOME/luacheck/.luacheckrc~/.config/luacheck/.luacheckrc%LOCALAPPDATA%\Luacheck\.luacheckrcexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
luacheck | 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.
https://github.com/lunarmodules/luacheck
install metadata
| Package key | brew:luacheck |
|---|---|
| Version | 1.2.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/luacheck |
| Homepage | https://luacheck.readthedocs.io/ |
| Repository | https://github.com/lunarmodules/luacheck |
| Upstream docs | https://luacheck.readthedocs.io/ |
| License | MIT |
| Source archive | https://github.com/lunarmodules/luacheck/archive/refs/tags/v1.2.0.tar.gz |
| Last updated | 2026-06-29T22:26:50Z |
| Pulse | updated |
| Dependencies | lua |
| Build dependencies | luarocks |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | luacheck |
| Version Scheme | 0 |
| Revision | 1 |
| Head Version | HEAD |
| 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-check 1.2.0-1
static analyzer and a linter for the Lua language
https://github.com/luarocks/luacheck
sudo apt install lua-checklua-check 1.1.2-1
static analyzer and a linter for the Lua language
https://github.com/luarocks/luacheck
sudo apt install lua-checkluacheck 1.2.0-r1
A tool for linting and static analysis of Lua code
https://github.com/lunarmodules/luacheck
sudo apk add luacheckluacheck 1.2.0-4
A tool for linting and static analysis of Lua code
https://github.com/lunarmodules/luacheck
sudo pacman -S luachecklua53-luacheck 1.1.0-4.1
Command-line tool for linting and static analysis of Lua code
https://github.com/lunarmodules/luacheck
sudo zypper install lua53-luachecklua54-luacheck 1.1.0-4.1
Command-line tool for linting and static analysis of Lua code
https://github.com/lunarmodules/luacheck
sudo zypper install lua54-luachecklua55-luacheck 1.1.0-4.1
Command-line tool for linting and static analysis of Lua code
https://github.com/lunarmodules/luacheck
sudo zypper install lua55-luacheckluajit-luacheck 1.1.0-4.1
Command-line tool for linting and static analysis of Lua code
https://github.com/lunarmodules/luacheck
sudo zypper install luajit-luacheckmain/luacheck
scoop install main/luachecksource 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.