Skip to content
SPECIFICTION
Get listed

CPAN vs LuaRocks

CPAN

cpan.org

LuaRocks

luarocks.org

Side by side

FigureCPANLuaRocks
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WebYes—
WindowsYesYes
macOSYesYes
LinuxYesYes
API—Yes
Self-hosted—Yes
Plans published11
Spec score · Package Registries8.1 (#12)8.7 (#7)
DependenciesModules can depend on other modules, and some require a specific version or a C compiler.LuaRocks is a pure Lua application with no library dependencies, though its current release uses helper tools.
SupportThe FAQ says CPAN is not a helpdesk for debugging users’ code, but handles questions and problems related directly to CPAN’s operation.The official site links to its GitHub issue tracker for reporting issues.

Plans

CPAN

  • CPANFree

CPAN pricing →

LuaRocks

  • LuaRocksFree

LuaRocks pricing →

In their own words

CPAN

CPAN is a free archive of Perl software and documentation, with ways to find, download, and install modules. Its homepage lists 33,464,960 modules in 47,830 distributions from 14,750 authors; the archive has been online since October 1995. Visitors can search through MetaCPAN or browse modules, authors, and recent uploads. Modules can be installed with CPAN.pm, and manual installation instructions are available. Dependencies can require other modules, a particular version, or a C compiler. The site also provides Perl source archives and instructions for compiling and installing Perl. Authors submit uploads through PAUSE, which inspects, validates, and indexes them before they propagate to CPAN and its mirrors. For existing package namespaces, PAUSE indexes uploads only from the owner or an authorized maintainer. Its documentation says uploaded modules are tested across dozens of architectures by CPAN Testers. The Ports page lists Perl support for over 100 platforms, including Windows, macOS, and Linux. CPAN is backed by a CDN. The FAQ says CPAN handles questions about its own operation, not debugging users’ code.

Visit cpan.org

LuaRocks

LuaRocks is a package manager for Lua, with LuaRocks.org hosting rocks and rockspecs for Lua modules. Its command line uses manifests to find packages, choose a version and platform match, and install the corresponding files locally. Rocks carry version dependency information, which LuaRocks uses to install dependencies and load the appropriate module version. Package collections can be organized through the root manifest, per-user manifests, or custom manifests; development versions are kept in a separate manifest and are not installed by default. LuaRocks supports offline installation and platforms including Linux, macOS, Windows, Unix, FreeBSD, and Cygwin. Module authors can register and upload a rockspec, then publish rock files for a version; the current release supports the `luarocks upload` command. The application is described as pure Lua with no library dependencies, though its current release uses helper tools. LuaRocks is free, with a listed price of free.

Visit luarocks.org