LuaRocks is a
package manager for the
Lua programming language that provides a standard format for distributing Lua modules (in a self-contained format called a "rock"), a tool designed to easily manage the installation of rocks, and a server for distributing them. While not included with the Lua distribution, it has been called the "de facto package manager for community-contributed Lua modules".
The interface for LuaRocks is a
command-line tool called ''luarocks'' which can install libraries and manage Lua rocks. LuaRocks optionally integrates with Lua run-time loader to help find and load installed rocks while managing version dependencies. Though it is possible to use a private LuaRocks repository, the public repository is most commonly used for rocks management. As of December 2016, there are over 1,500 rocks in the public repository.
The public repository helps users find rocks, resolve
dependencies and install them. LuaRocks is compatible with Lua versions 5.1, 5.2 and 5.3, as well as
LuaJIT.
History
Development on LuaRocks was started in 2006 by Hisham Muhammad and was released to the public on August 9, 2007.
In 2015, the public repository moved from a static page curated by the tool's developer to a new server written in
MoonScript by Leaf Corcoran. Also, LuaRocks development was moved to GitHub in 2010.
Portability
LuaRocks is written in Lua itself, and it is
cross-platform. It is available in all major
Linux distributions. However, since distribution packages often lag behind the latest release installing the latest release is recommended. When installed from the
upstream tarball, LuaRocks can upgrade itself on
Unix systems.
For
Windows, LuaRocks distributes a package file including LuaRocks, Lua 5.1 and required utilities that are missing in a typical Windows system. The Windows package supports both
Microsoft Visual Studio
Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such a ...
and
MinGW compiler suites. For running on
Cygwin
Cygwin ( ) is a POSIX-compatible programming and runtime environment that runs natively on Microsoft Windows. Under Cygwin, source code designed for Unix-like operating systems may be compiled with minimal modification and executed.
The Cygwin in ...
, the Unix package should be used.