在Linux环境下,当同一个软件存在多个版本且多个版本都需要在不同的场景下或给不同人员使用时,配置环境变量是一个非常繁琐的过程。Environment Modules是一个专门管理环境变量和软件版本的工具,可以通过NFS共享的方式把多个软件的多个版本安装在NFS共享目录下,通过module load等命令可以非常方便地使用不同版本的软件http://modules.sourceforge.net/https://modules.readthedocs.io/en/latest/index.htmlhttp://bioinfo.online/html/article/202281613669.html
sudo apt-get install tcl-dev tk-dev mesa-common-dev libjpeg-dev libtogl-dev
https://www.linuxquestions.org/questions/linux-software-2/configuration-error-can%27t-find-tcl-configuration-definition-4175434069/
https://gitlab.rlp.net/imbforge/sysops/-/tree/master/lmod
https://www.modb.pro/db/327877
apt-get install tcl-dev
https://modules.readthedocs.io/en/latest/INSTALL.html
ln -s PREFIX/init/profile.sh /etc/profile.d/modules.sh ln -s PREFIX/init/profile.csh /etc/profile.d/modules.csh
sudo apt-get install -y environment-modules
$ dpkg -L environment-modules /. /etc /etc/csh /etc/csh/login.d /etc/environment-modules /etc/environment-modules/modules /etc/environment-modules/modulespath /etc/environment-modules/site.exp /etc/environment-modules/siteconfig.tcl /etc/profile.d /etc/profile.d/modules.sh /usr /usr/bin /usr/bin/add.modules /usr/bin/envml /usr/bin/mkroot /usr/bin/modulecmd /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libtclenvmodules.so /usr/lib/x86_64-linux-gnu/modulecmd-compat /usr/lib/x86_64-linux-gnu/modulecmd.tcl /usr/share /usr/share/bash-completion /usr/share/bash-completion/completions /usr/share/doc /usr/share/doc/environment-modules /usr/share/doc/environment-modules/CONTRIBUTING.txt.gz /usr/share/doc/environment-modules/ChangeLog-compat.gz /usr/share/doc/environment-modules/MIGRATING.txt.gz /usr/share/doc/environment-modules/NEWS-compat.gz /usr/share/doc/environment-modules/NEWS.txt.gz /usr/share/doc/environment-modules/README.gz /usr/share/doc/environment-modules/changelog.Debian.gz /usr/share/doc/environment-modules/copyright /usr/share/doc/environment-modules/diff_v3_v4.txt.gz /usr/share/doc/environment-modules/example.txt.gz /usr/share/man /usr/share/man/man1 /usr/share/man/man1/module-compat.1.gz /usr/share/man/man1/module.1.gz /usr/share/man/man4 /usr/share/man/man4/modulefile-compat.4.gz /usr/share/man/man4/modulefile.4.gz /usr/share/modules /usr/share/modules/init /usr/share/modules/init/bash /usr/share/modules/init/bash_completion /usr/share/modules/init/cmake /usr/share/modules/init/csh /usr/share/modules/init/fish /usr/share/modules/init/fish_completion /usr/share/modules/init/ksh /usr/share/modules/init/ksh-functions /usr/share/modules/init/ksh-functions/module /usr/share/modules/init/ksh-functions/switchml /usr/share/modules/init/lisp /usr/share/modules/init/modulerc /usr/share/modules/init/perl.pm /usr/share/modules/init/profile-compat.csh /usr/share/modules/init/profile-compat.sh /usr/share/modules/init/profile.csh /usr/share/modules/init/profile.sh /usr/share/modules/init/python.py /usr/share/modules/init/r.R /usr/share/modules/init/ruby.rb /usr/share/modules/init/sh /usr/share/modules/init/tcl /usr/share/modules/init/tcsh /usr/share/modules/init/tcsh_completion /usr/share/modules/init/zsh /usr/share/modules/init/zsh-functions /usr/share/modules/init/zsh-functions/_module /usr/share/modules/modulefiles /usr/share/modules/modulefiles/dot /usr/share/modules/modulefiles/module-git /usr/share/modules/modulefiles/module-info /usr/share/modules/modulefiles/modules /usr/share/modules/modulefiles/null /usr/share/modules/modulefiles/use.own /usr/share/modules/versions /etc/csh/login.d/modules /usr/lib/modulecmd.tcl /usr/share/bash-completion/completions/modules /usr/share/modules/init/.modulespath
$ module ava ------------------------------------------- /usr/share/modules/modulefiles ------------------------------------------- dot module-git module-info modules null use.own $ module ava ------------------------------------------- /usr/share/modules/modulefiles ------------------------------------------- dot module-git module-info modules null use.own