luaver helps to manage and switch between different versions of Lua, LuaJIT and Luarocks.
- Installs/Uninstalls any version of Lua, LuaJIT or luarocks with a single command.
- Switches between different versions of 'Lua', 'LuaJIT' or 'Luarocks' easily, without glitches.
- Consistency between 'Lua' and 'Luarocks' maintained - Rocks and configurations for different lua versions are stored differently.
- Every terminal session can have a different environment configured. Default versions can also be configured.
Requires make
, either of wget
or curl
.
You may need to install some dependencies:
sudo apt-get install libreadline-dev
Also, if you are planning to install older versions of Lua(which are 32-bit) on 64-bit machines, you may need to install some 32-bit libraries:
sudo apt-get install lib32ncurses5-dev
You can install from the script directly:
curl -fsSL https://raw.githubusercontent.com/dhavalkapil/luaver/master/install.sh | sh -s - -r v1.1.0
Follow the instructions which appears after the luaver installation.
-
Clone this repository into
~/.luaver
:$ git clone https://github.com/DhavalKapil/luaver.git ~/.luaver
-
Add
. ~/.luaver/luaver
to your profile such as.bashrc
or.zshrc
:$ echo "[ -s ~/.luaver/luaver ] && . ~/.luaver/luaver" >> ~/.bashrc $ echo "[ -s ~/.luaver/completions/luaver.bash ] && . ~/.luaver/completions/luaver.bash" >> ~/.bashrc
-
Reload
.bashrc
or restart the shell to loadluaver
:$ . ~/.bashrc
Note: This method only works if luaver was installed using git
.
$ cd ~/.luaver && git fetch origin && git reset --hard origin/master
Additional works may be required.
luaver install 5.3.1 # Installs Lua version 5.3.1
luaver install 5.3.0 # Installs Lua version 5.3.0
luaver use 5.3.1 # Switches to Lua version 5.3.1
luaver install-luarocks 2.3.0 # Installs Luarocks version 2.3.0
luaver uninstall 5.3.0 # Uninstalls Lua version 5.3.0
luaver help
Usage:
luaver help Displays this message
luaver install <version> Installs lua-<version>
luaver use <version> Switches to lua-<version>
luaver set-default <version> Sets <version> as default for lua
luaver unset-default Unsets the default lua version
luaver uninstall <version> Uninstalls lua-<version>
luaver list Lists installed lua versions
luaver install-luajit <version> Installs luajit-<version>
luaver use-luajit <version> Switches to luajit-<version>
luaver set-default-luajit <version> Sets <version> as default for luajit
luaver unset-default-luajit Unsets the default luajit version
luaver uninstall-luajit <version> Uninstalls luajit-<version>
luaver list-luajit Lists installed luajit versions
luaver install-luarocks <version> Installs luarocks<version>
luaver use-luarocks <version> Switches to luarocks-<version>
luaver set-default-luarocks <version> Sets <version> as default for luarocks
luaver unset-default-luarocks Unsets the default luarocks version
luaver uninstall-luarocks <version> Uninstalls luarocks-<version>
luaver list-luarocks Lists all installed luarocks versions
luaver current Lists present versions being used
luaver version Displays luaver version
Feel free to file issues and submit pull requests – contributions are welcome.
luaver is licensed under the MIT license.