Environment Modules工具

Environment Modules工具

简介

Module是一个环境变量管理工具,可以很好的实现开发环境的切换。

具体可以查看官网文档

安装

  • 安装(安装完成之后需要exit重新登录一下才会生效
bash 复制代码
yum install -y environment-modules

命令介绍

  • module avail:查看可用模块
  • module add/load [modulefiles]:加载模块(退出重登需重新加载)
  • module rm/unload [modulefiles]:卸载模块
  • module update/refresh [modulefiles]:重新加载模块(测试下来有报错)
  • module swap/switch [old] [new]:卸载oldmodulefile并加载newmodulefile
  • module clear/purge [modulefiles]:清空模块
  • module list:列出已加载模块
  • module show/display [modulefiles]:显示模块信息

使用

  • 添加modulefiles文件到/TOOLS/env/modulefiles

  • 目录树

    /TOOLS/env
    └── modulefiles
    ├── Cadence
    │ ├── IC617
    │ ├── IC618
    ├── Mentor
    │ ├── CALIBRE2021
    │ └── CALIBRE2024
    └── Synopsys

  • modulefils文件格式,这里使用的是IC618为例,一定要在第一行加入#%Module1.0

bash 复制代码
#%Module1.0
export          CDSHOME               /cadtools/cadence/IC618
prepend-path    PATH                  $env(CDSHOME)/bin
prepend-path    PATH                  $env(CDSHOME)/tools/bin
prepend-path    PATH                  $env(CDSHOME)/tools/dfII/bin
prepend-path    PATH                  $env(CDSHOME)/tools/plot/bin 
prepend-path    PATH                  $env(CDSHOME)/tools/usr/bin 
prepend-path    LD_LIBRARY_PATH       $env(CDSHOME)/tools/lib 
prepend-path    LD_LIBRARY_PATH       $env(CDSHOME)/tools/lib64
setenv CDS_AUTO_64BIT ALL
setenv CDS_Netlisting_Mode Analog
  • 定义读取modulefiles的路径
bash 复制代码
# 修改用户的环境变量
vim ~/.bashrc
# 添加下面这一行即可
export MODULEPATH /TOOLS/env/modulefiles
  • 查看可用模块,临时添加模块,删除模块,查看已添加模块
bash 复制代码
# 查看可用模块
module avail

# 临时添加模块,根据上面的输出添加
module add Cadence/IC618

# 查看已添加模块
module list

# 删除模块
module rm Cadence/IC618

# 查看已添加模块
module list
  • 永久添加某些模块(添加完之后重新登录或者source即可)
bash 复制代码
# 想要永久添加,只需在.bashrc中定义即可
vim ~/.bashrc
# 文件内容如下
export MODULEPATH /TOOLS/env/modulefiles
module load Cadence/IC618
module load Mentor/CALIBRE2024
相关推荐
爱喝水的鱼丶44 分钟前
SAP-ABAP:隐式/显式增强开发规范与避坑指南:10 类典型错误与运维方案
运维·性能优化·sap·abap·增强·经验交流
企业解惑小助手2 小时前
如何禁止文字复制?企业文档防复制项目需求拆解方案
运维·数据库·安全
蓝速科技2 小时前
酒店门店 AI 数字人前台场景适配与落地指南
大数据·运维·数据结构·数据库·人工智能·科技
yyk333242 小时前
Linux常见的基础命令
linux·运维·服务器
名字还没想好☜2 小时前
Docker 镜像瘦身进阶:用 distroless/scratch 把 Go 服务打到 10MB,以及没 shell 怎么调试
运维·docker·容器·golang·kubernetes
JavaPub-rodert2 小时前
Docker 深入理解:从容器原理到生产环境最佳实践
运维·docker·容器
aiot189189352183 小时前
核芯物联蓝牙AOA高精度定位生态合作案例分享金库定位踩坑实录
大数据·运维·网络·人工智能·蓝牙aoa
TomEval4 小时前
【接口自动化】13 - 接口数据驱动与报告
运维·windows·自动化
程序员无隅4 小时前
Codex 实战:用 AI 写运维脚本
运维·人工智能
Soari4 小时前
Linux 内核对比:PREEMPT_DYNAMIC vs PREEMPT_RT
linux·运维·ubuntu