LuaRocks
LuaRocks is a free package manager for Lua, and LuaRocks.org hosts rocks and rockspecs for Lua modules.
What LuaRocks is
LuaRocks is a free package manager for Lua, and LuaRocks.org hosts rocks and rockspecs for Lua modules. The tool reads manifests, selects a version and platform match, then installs the corresponding package locally. Rocks include version requirements that LuaRocks uses to resolve dependencies and load the appropriate module version. Package collections can use the root manifest, per-user manifests or custom manifests; custom collections may be open to contributions or restricted to their administrators. Development releases are kept apart from ordinary releases and are not installed by default. LuaRocks supports Linux, macOS, Windows, Unix, FreeBSD and Cygwin, as well as offline installation. Module authors can register and upload a rockspec, then upload rock files for a version; the current release also supports publishing with the `luarocks upload` command. LuaRocks.org provides manifests for Lua versions generally and compatibility manifests for Lua 5.1, 5.2, 5.3 and 5.4. The application is described as pure Lua without library dependencies, though its current release uses helper tools. The site links to GitHub for issue reporting.
Good
- Resolves module dependencies using version requirements.
- Supports offline installation.
- Custom manifests organize module collections.
- Development releases stay out of default installs.
- Module publishing is supported through `luarocks upload`.
Watch out
- The current release uses helper tools.
- The official pages reviewed do not state a security certification.
Who it suits
Lua developers can use LuaRocks to discover, install and manage modules and dependencies. Module authors can also publish rockspecs and package files through LuaRocks.org.
Verdict
LuaRocks brings module discovery, dependency handling and publishing together for Lua projects. Its manifest options and supported platforms are useful considerations when choosing a package workflow.
Plans and prices
From LuaRocks's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| LuaRocks | Free | Free package manager and module hosting service |
The facts
Each one read from LuaRocks's own pages, with the date it was checked.
What it does
- Alternate sources
- The documentation lists an HTTP mirror and GitHub manifest backups that can be used as fallback package servers.checked 8 Oct 2026
- Compatibility
- LuaRocks.org provides manifest files for all Lua versions and for Lua 5.1, 5.2, 5.3, and 5.4.checked 8 Oct 2026
- Custom manifests
- Users can create custom manifests, which can be open to contributions or closed to manifest admins.checked 8 Oct 2026
- Dependencies
- LuaRocks is a pure Lua application with no library dependencies, though its current release uses helper tools.checked 8 Oct 2026
- Dependency handling
- Rocks include version dependency information, which LuaRocks uses to install dependencies and load the appropriate module version.checked 8 Oct 2026
- Dependency resolution
- Yeschecked 21 Sep 2026
- Development releases
- Development versions are placed in a separate development manifest so they are not installed by default.checked 8 Oct 2026
- Development versions
- Development versions are kept in a development manifest so they are not installed by default.checked 8 Oct 2026
- Implementation
- LuaRocks is described as a pure Lua application with no library dependencies; its current release uses helper tools.checked 8 Oct 2026
- Install packages
- LuaRocks downloads package manifests, selects a version and platform match, and installs the corresponding rock or rockspec locally.checked 8 Oct 2026
- Integration
- The LuaRocks.org HTTP API is used by the luarocks upload command to publish rocks.checked 8 Oct 2026
- Lua compatibility
- The documentation lists manifests for all modules and separate compatibility manifests for Lua 5.1, 5.2, 5.3, and 5.4.checked 8 Oct 2026
- Mirrors
- The documentation lists an HTTP mirror and daily GitHub backups of stable and development manifest data as fallback servers.checked 8 Oct 2026
- Module publishing
- Anyone can register and upload a Lua module by uploading a .rockspec.checked 8 Oct 2026
- Offline installation
- Yeschecked 21 Sep 2026
- Package discovery
- The LuaRocks CLI uses manifests to discover and install packages.checked 8 Oct 2026
- Package format
- A rock is a zip file containing the rockspec and all files needed to install a module.checked 8 Oct 2026
- Package formats
- A rock is a zip file containing its rockspec and the files needed to install a module; rocks can be built for specific platforms.checked 8 Oct 2026
- Publishing
- Anyone can register and upload a Lua module by uploading a rockspec, then upload rock files for a specific version.checked 8 Oct 2026
- Purpose
- LuaRocks is a package manager for Lua, and LuaRocks.org hosts rocks and rockspecs for Lua modules.checked 8 Oct 2026
- Repositories
- LuaRocks supports the root manifest, per-user manifests, and custom manifests for organizing module collections.checked 8 Oct 2026
Money
- Free plan
- Yeschecked 21 Sep 2026
Where it runs
- Installation platforms
- The download guide links installation instructions for Unix systems including Linux and BSDs, macOS, and Windows.checked 8 Oct 2026
- Platforms
- The download instructions cover Unix systems, macOS, and Windows; Unix examples include Linux and BSDs.checked 8 Oct 2026
The full review of LuaRocks
LuaRocks is a free package manager and module host built specifically for Lua. It suits developers who want a shared way to install dependencies or publish Lua modules; teams requiring package-signing assurances should look elsewhere.
Overview
LuaRocks uses manifests to find modules, choose a version and platform match, and install the corresponding package locally. A rock is a zip archive containing its rockspec and the files needed to install a module. Version information in rocks lets LuaRocks install dependencies and load the intended module version, which helps keep a project’s dependency choices organized.
Users can draw from the root manifest, per-user manifests, or custom manifests. A custom collection can accept contributions or be limited to its administrators, making this useful for teams that want to manage a focused module collection. Development releases live in a separate manifest and are not installed by default. Offline installation is supported, which helps when packages have already been obtained and a machine cannot reach a package server.
Key features
Lua version and platform coverage
LuaRocks.org provides manifests for modules across Lua versions and separate compatibility manifests for Lua 5.1, 5.2, 5.3, and 5.4. That gives developers a way to choose packages with a specific Lua version in mind. Supported platforms include Linux, macOS, Windows, Unix, FreeBSD, and Cygwin, while installation guidance covers Unix systems including Linux and BSD, macOS, and Windows.
Publishing and fallback servers
Anyone can register and publish a module by uploading a rockspec, then add rock files for a particular version. The current release supports publishing to LuaRocks.org with the luarocks upload command. An HTTP mirror and daily GitHub backups of stable and development manifest data offer fallback package servers if the primary route is unavailable.
LuaRocks is a pure Lua application without library dependencies, although its current release uses helper tools. The 2019 security incident page says packages did not have signing and verification at that time, a significant concern for organizations that require signed packages. The official site links to its GitHub issue tracker for reporting problems.
Pricing
LuaRocks is free: the LuaRocks plan costs nothing and includes the package manager and module hosting service. There is no free trial because the service is already free, and no paid tier or seat quota is stated. This makes it a straightforward fit for individual developers and teams that need Lua package management without a software fee; organizations that need package-signing assurances may need another workflow.
Platforms
LuaRocks supports Linux, macOS, Windows, Unix, FreeBSD, and Cygwin. Its package formats are .rock and .rockspec. Offline installation and dependency resolution are supported, so packages can be installed locally and their declared dependencies handled by the manager.
Who it's for
LuaRocks is the natural choice for Lua developers who need to discover modules, install dependencies, maintain custom manifests, or publish their own packages. It is also useful when projects target different Lua versions or need offline installation. It is a poorer fit for teams whose package workflow depends on signing and verification assurances.
Pros and cons
- Pros: Free package management and module hosting make it accessible for Lua projects without a software charge.
- Pros: Dependency resolution, offline installation, and version-specific manifests address common needs across Lua development workflows.
- Pros: Custom manifests and a separate development manifest allow teams to curate packages and keep development releases out of default installs.
- Cons: The package and manifest workflow is centered on Lua, so it is not a general-purpose registry for unrelated ecosystems.
- Cons: Packages were not signed or verified at the time of the 2019 security incident, which may rule it out for organizations with that requirement.
Alternatives
Choose npm for public package publishing and registry access in a JavaScript package workflow; its free plan is for public package authors and offers unlimited public packages. Inedo ProGet is a better candidate when private package feeds and Docker feeds matter, with a free edition that includes unlimited feeds but has limited security and compliance features. For a self-hosted package server with a minimal PyPI-compatible API, consider pypiserver.
Bioconductor is a free open-source software option for readers working in that ecosystem. CPAN is the free Perl software and documentation archive. R-universe offers free public package publishing and requires a GitHub account to publish a packages.json registry. aptly is a free CLI tool with an HTTP REST service for package repository management. CocoaPods is the free option for iOS and macOS projects.
Browse more options in Package Managers and Package Registries.
Verdict
LuaRocks is the right pick for Lua developers who want free module discovery, dependency handling, offline installation, and publishing in a Lua-focused workflow. Its manifest flexibility and Lua-version coverage are strong reasons to choose it. Look elsewhere if signed package verification is a requirement.
Getting started
- Visit luarocks.org
- Follow the download guide for Linux, BSD, macOS, or Windows
- Use the LuaRocks CLI to read package manifests
- Install a matching rock or rockspec locally
- Use offline installation or listed mirror and backup sources when needed
Limits worth knowing
Development versions stay in a separate manifest and are not selected by default. Custom manifests can be restricted to their administrators.
Questions
Is LuaRocks free?
Yes. The LuaRocks plan is free at 0.00 USD.
Which systems does it support?
LuaRocks supports Linux, macOS, Windows, Unix, FreeBSD, and Cygwin.
Can it install dependencies?
Yes. It reads version requirements in rocks and installs required modules.
Can authors publish modules?
Yes. Authors can register a rockspec, upload rock files, and use `luarocks upload`.
Does it work offline?
Yes, offline installation is supported.
Alternatives to LuaRocks
- 1
PyPI
Free planOpen sourceWebAPILinuxmacOS8.1Free plan - 2
Bioconductor
Free planOpen sourceWebLinuxmacOSSelf-hosted7.6Free plan - 3
npm
Free planLinuxmacOSWindows7.5From $7 a month - 4

Inedo ProGet
Free planWebAPILinuxSelf-hosted7.4From $2,395 a year - 5
GNU ELPA
Free planOpen sourceWebSelf-hosted7.0Free plan - 6
pypiserver
Free planAPILinuxmacOSSelf-hosted6.9Free plan
