====== Setup The Lua Toolchain ======
We configure and install a basic Lua toolchain including LuaRocks for additional packages.
===== Local Installation =====
We will install Lua and LuaRocks as user in **~/.local**
Lua executable will be in **~/.local/bin**, man pages in **/.local/man**.
Let set that path in **~/.profile** to the **$PATH** and **$MANPATH**
# PATH to $HOME/.local/bin
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
# MANPATH to $HOME/.local/man
if [ -d "$HOME/.local/man" ] ; then
MANPATH=:"$HOME/.local/man"
fi
==== Build Lua ====
Download and unpack latest Lua-5.3 archive [[http://www.lua.org/ftp]]
Go inside the extracted archive and type **make**
$ make
Please do 'make PLATFORM' where PLATFORM is one of these:
aix bsd c89 freebsd generic linux macosx mingw posix solaris
See doc/readme.html for complete instructions.
It will prompt all the available platform. Choose yours and go head, substitute **bsd** with your platform and install it locally with one command:
$ make bsd install INSTALL_TOP=$HOME/.local
Check your Lua installation, reload your environment or do a logout and login again. Now, Lua should work, including its man page:
$ lua -v
Lua 5.3.6 Copyright (C) 1994-2020 Lua.org, PUC-Rio
$ man lua
==== Build LuaRocks ====
Download and unpack latest luarocks file [[https://luarocks.github.io/luarocks/releases/]]
Go inside the extracted archive, tell configure with the prefix to install locally and where are the Lua inclue. Then build and install:
$ ./configure --prefix=$HOME/.local --with-lua-include=$HOME/.local/include
$ make
$ make install
==== Install local Packages ====
Lua and LuaRocks should work.
Let's install some local additional packages that would be available for every Lua project.
== - Lua formatter ==
We cannot live anymore without formatting the code. Install luaformatter via the dev repositry as following:
$ luarocks install --server=https://luarocks.org/dev luaformatter
== - Lua Check ==
LuaCheck is a statistic analysis tool and is useful to lint your project. Install LuaCheck as following:
$ luarocks install luacheck