Environment modules are used on HPC to allow multiple versions of any given piece of software to sit on the same OS, giving you the ability to choose a version of software.  HPC cluster nodes have some convenient aliases configured:

Using alias is equivalent to ...
module load gcc4 module load gcc/4.9.4
module load gcc5 module load gcc/5.4.0
module load gcc6 module load gcc/6.3.0
module load gcc7 module load gcc/7.1.0
module load python2 module load python/2.7.13
module load python3 module load python/3.6.1
module load java6 module load java/1.6.0-sun
module load java7 module load java/1.7.0-oracle
module load java8 module load java/1.8.0-oracle
module load openjdk6 module load java/1.6.0-openjdk
module load openjdk7 module load java/1.7.0-openjdk
module load openjdk8 module load java/1.8.0-openjdk


A Brief Introduction to using environment modules

To view software under environment modules control, use the command:

module avail


To list the environment modules you have loaded, use the command:

module list


To load the contents of environment module (easier use of software) use the module load command.  For example, to load the contents of the module associated with the latest version of Oracle Java/JDK 1.8.0, you can use:

module load java/1.8.0-oracle


If you want to change the version of software you wish to use, the module switch command can be used.  For example, lets say that you have already loaded python/2.7.13 and want to switch to python/3.6.1.  This can be done with:

module switch python/3.6.1


To unload a module, use the module unload command.  For example:

module unload java/1.8.0-oracle

will backout changes made to your environment from a previous module load java/1.8.0-oracle command.  To  unload (purge) all modules you have loaded, use the command:

module purge