FREEDOM251

Freedom251 › Package Registries

LuaRocks

Free plan APILinuxMacSelf-hostedWindows

Visit LuaRocks Alternatives Pricing

LuaRocks's own site

What LuaRocks is

LuaRocks is a package manager for Lua, while LuaRocks.org hosts packages called rocks and their rockspecs. The command-line tool uses manifests to find packages, choose a version and platform match, and install it locally. It reads version requirements in rocks to resolve dependencies and load the appropriate module version. Collections can use the root manifest, a per-user manifest, or a custom manifest; custom collections may be open to contributions or limited to their administrators. Development releases are held separately and are not selected by default. LuaRocks provides manifests for all Lua versions and compatibility manifests for Lua 5.1, 5.2, 5.3, and 5.4. It supports Linux, macOS, Windows, Unix, FreeBSD, and Cygwin, as well as offline installation. Module authors can register and publish a rockspec, then upload rock files for a version; the current release also supports publishing with `luarocks upload`. LuaRocks is free and described as a pure Lua application without library dependencies, though the current release uses helper tools.

Who it suits

Lua developers who need to install modules, manage dependencies, or publish Lua packages may find LuaRocks useful. It also suits users who need offline installation or custom manifests.

What it does well

  • Free package manager and module hosting.
  • Resolves module version dependencies.
  • Supports offline installation.
  • Manifests cover Lua 5.1 through 5.4.
  • Authors can publish with `luarocks upload`.

What to know first

  • The current release uses helper tools.
  • The 2019 incident page says packages lacked signing and verification at that time.

Plans

PlanBilled and limitsPrice
LuaRocksFree package manager and module hosting serviceFree

As luarocks.org lists them, read 8 Oct 2026. The maker's own page has the final word.

Getting started

  1. Visit LuaRocks.org.
  2. Follow the download guide for Linux or BSD, macOS, Windows, or another supported system.
  3. Install LuaRocks and use its manifests to discover and install modules.
  4. For offline installation, use the supported offline installation option.
  5. To publish a module, register and upload its rockspec, then upload rock files or use `luarocks upload`.

LuaRocks is a package manager and module-publishing service built around Lua’s rock and rockspec formats. It is a strong fit for Lua developers who need dependency resolution across Lua versions; teams that require package-signing assurances should look elsewhere.

Overview

The CLI uses manifests to find packages, choose a version and platform match, and install the corresponding rock or rockspec locally. Rocks are zip files containing a rockspec and the files needed to install a module. Their version dependency information lets LuaRocks install dependencies and load the appropriate module version, making it useful for managing Lua projects without extending that convenience to unrelated ecosystems.

Users can draw on the root manifest, per-user manifests, or custom manifests to organize module collections. Custom manifests may accept contributions or be limited to their administrators. Development versions live in a separate manifest and are not installed by default, a sensible boundary for developers who want to avoid unintentionally selecting work in progress. Offline installation is supported, though that does not remove the need to obtain packages before going offline.

Key features

Version-aware package management

LuaRocks.org provides manifests for all Lua versions and separate compatibility manifests for Lua 5.1, 5.2, 5.3, and 5.4. This is valuable for projects that must target older or multiple Lua releases: developers can select a compatibility manifest rather than relying on one undifferentiated package collection. The tool’s scope remains Lua modules, not general-purpose package management.

Publishing and fallback sources

Anyone can register and publish a Lua module by uploading a rockspec, then add rock files for a particular version. The current release supports the luarocks upload command, which uses LuaRocks.org’s HTTP API. An HTTP mirror and daily GitHub backups of stable and development manifest data offer fallback package servers; they are useful resilience options, not a substitute for package-signing safeguards.

Implementation and security

LuaRocks is described as a pure Lua application with no library dependencies, although the current release uses helper tools. That keeps its implementation centered on Lua, but does not mean setup is entirely free of external tooling. A 2019 security incident page says packages on LuaRocks.org did not have signing and verification at that time. Teams with strict supply-chain assurance requirements should account for that history and seek stronger guarantees before depending on hosted packages.

Pricing

LuaRocks is free, with a free plan at no cost. It includes the package manager and module-hosting service, with no paid tier or trial to weigh against it. That makes it accessible to individual developers and projects of any budget, but the free price should not be mistaken for security certification or package verification.

Platforms

LuaRocks lists API, Linux, macOS, self-hosted, and Windows support. Installation instructions cover Unix systems including Linux and BSDs, macOS, and Windows; supported platforms also include Unix, FreeBSD, and Cygwin. That breadth helps teams working across common desktop and server environments, though compatibility still depends on the package and target platform match.

Who it's for

LuaRocks suits Lua developers who want manifest-based discovery, dependency handling, offline installation, or a place to publish modules. Per-user and custom manifests are also useful when a project needs its own organized collection rather than relying only on the root manifest. It is a less compelling choice for organizations that need package signing and verification as a firm requirement, or for developers seeking a package manager beyond the Lua ecosystem.

Pros and cons

  • Pro: Dependency information in rocks supports automatic dependency installation and loading the appropriate module version, reducing manual version coordination.
  • Pro: Separate manifests for Lua 5.1 through 5.4 help developers choose packages aligned with the Lua release they target.
  • Pro: Offline installation and mirror or GitHub manifest backups provide options when the primary package server is unavailable or network access is limited.
  • Pro: Free publishing lets module authors register, upload rockspecs, and distribute versioned rock files without a paid plan.
  • Con: The 2019 incident page reported no package signing or verification at the time, a material concern for teams with strict supply-chain controls.
  • Con: Its Lua-specific package formats and manifests make it a poor fit for managing packages in other language ecosystems.
  • Con: The current release uses helper tools despite being a pure Lua application with no library dependencies, so deployment is not necessarily tool-free.

Alternatives

For other package registries and package managers, see Package Registries and Package Managers. Choose Bioconductor instead for free open-source software with no paid plans or usage limits stated; CPAN instead for free Perl software and documentation; or Inedo ProGet when private-package and Docker feeds matter, accepting limited security and compliance features in its free edition. npm is an alternative for public package authors who want unlimited public packages and registry access on its free plan. Consider pypiserver for a self-hosted, minimal PyPI-compatible API, or R-universe for public publishing through a registry tied to a GitHub account. aptly is a free CLI tool with an HTTP REST service, while CocoaPods is another free option with no paid plans listed.

Verdict

LuaRocks is the right choice for Lua developers who want free module installation, dependency handling, and publishing organized around Lua-specific manifests. Its compatibility manifests and offline support are practical advantages; its central reason to look elsewhere is the lack of established package-signing assurances described in the 2019 incident account.

Verdict

LuaRocks combines package installation and dependency handling with manifests for organizing module collections. Its support for offline installs and several Lua compatibility manifests may suit developers working across different environments.

Questions

How much does LuaRocks cost?

LuaRocks is free, listed as free.

Which operating systems does it support?

Supported platforms include Linux, macOS, Windows, Unix, FreeBSD, and Cygwin.

Can it install packages offline?

Yes, offline installation is supported.

What package formats does it use?

The listed formats are .rock and .rockspec. A rock is a zip file containing its rockspec and the files needed to install a module.

Can developers publish modules?

Yes. Anyone can register and upload a rockspec, then upload rock files for a version. The current release also supports publishing with `luarocks upload`.

What does the 2019 security incident page say?

It says LuaRocks.org packages did not have signing and verification at the time of that incident.

Facts from LuaRocks's own pages

Alternate sources
The documentation lists an HTTP mirror and GitHub manifest backups that can be used as fallback package servers. · luarocks.org, 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. · luarocks.org, 8 Oct 2026
Custom manifests
Users can create custom manifests, which can be open to contributions or closed to manifest admins. · luarocks.org, 8 Oct 2026
Dependencies
LuaRocks is a pure Lua application with no library dependencies, though its current release uses helper tools. · github.com, 8 Oct 2026
Dependency handling
Rocks include version dependency information, which LuaRocks uses to install dependencies and load the appropriate module version. · luarocks.org, 8 Oct 2026
Dependency resolution
Yes · luarocks.org, 21 Sept 2026
Development releases
Development versions are placed in a separate development manifest so they are not installed by default. · luarocks.org, 8 Oct 2026
Development versions
Development versions are kept in a development manifest so they are not installed by default. · luarocks.org, 8 Oct 2026
Free plan
Yes · luarocks.org, 21 Sept 2026
Implementation
LuaRocks is described as a pure Lua application with no library dependencies; its current release uses helper tools. · github.com, 8 Oct 2026
Installation platforms
The download guide links installation instructions for Unix systems including Linux and BSDs, macOS, and Windows. · github.com, 8 Oct 2026
Install packages
LuaRocks downloads package manifests, selects a version and platform match, and installs the corresponding rock or rockspec locally. · luarocks.org, 8 Oct 2026
Integration
The LuaRocks.org HTTP API is used by the luarocks upload command to publish rocks. · luarocks.org, 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. · luarocks.org, 8 Oct 2026
Mirrors
The documentation lists an HTTP mirror and daily GitHub backups of stable and development manifest data as fallback servers. · luarocks.org, 8 Oct 2026
Module publishing
Anyone can register and upload a Lua module by uploading a .rockspec. · luarocks.org, 8 Oct 2026
Offline installation
Yes · luarocks.org, 21 Sept 2026
Package discovery
The LuaRocks CLI uses manifests to discover and install packages. · luarocks.org, 8 Oct 2026
Package format
A rock is a zip file containing the rockspec and all files needed to install a module. · luarocks.org, 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. · luarocks.org, 8 Oct 2026
Platforms
The download instructions cover Unix systems, macOS, and Windows; Unix examples include Linux and BSDs. · github.com, 8 Oct 2026
Publishing
Anyone can register and upload a Lua module by uploading a rockspec, then upload rock files for a specific version. · luarocks.org, 8 Oct 2026
Purpose
LuaRocks is a package manager for Lua, and LuaRocks.org hosts rocks and rockspecs for Lua modules. · luarocks.org, 8 Oct 2026
Repositories
LuaRocks supports the root manifest, per-user manifests, and custom manifests for organizing module collections. · luarocks.org, 8 Oct 2026

Where LuaRocks stands on Freedom251

Look at these too