scl-rhel/centos软件运行环境
scl(Software Collections)给 RHEL/CentOS 用户提供一种同时使用多个软件版本的运行环境,避免以方便、安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。
可以用来安装高版本的gcc
安装
$ sudo yum install -y centos-release-scl
$ sudo yum install -y scl-utils-build
$ sudo yum install -y scl-utils
查看yum中所有的源
$ yum repolist
执行结果:
repo id repo name
!base/7/x86_64 CentOS-7 - Base - 163.com !centos-sclo-rh/x86_64 CentOS-7 - SCLo rh
!centos-sclo-sclo/x86_64 CentOS-7 - SCLo sclo
!extras/7/x86_64 CentOS-7 - Extras - 163.com
!updates/7/x86_64 CentOS-7 - Updates - 163.com
可以看到yum中新增了两个scl源
查看scl源中的包
$ yum --disablerepo='*' --enablerepo='centos-sclo-rh' list available
$ yum --disablerepo='*' --enablerepo='centos-sclo-sclo' list available
$ yum --disablerepo="*" --enablerepo="centos-sclo-rh" search devtoolset
安装scl源中的包
- 先用上面两条命令搜索包名
- 然后直接用yum安装
例如安装9.x版本的gcc和gdb
$ sudo yum install -y devtoolset-9-gcc.x86_64 devtoolset-9-gcc-c++.x86_64 devtoolset-9-gcc-gdb-plugin.x86_64 devtoolset-9-gdb.x86_64
查看安装的scl包
$ scl --list
进入新的环境工作
$ scl enable devtoolset-9 bash
$ gcc --version
从环境中退出
$ exit
安装node.js 12
参考https://www.softwarecollections.org/en/scls/jstanek/rh-nodejs12/
# 1. Install a package with repository for your system:
# On CentOS, install package centos-release-scl available in CentOS repository:
$ sudo yum install centos-release-scl-rh
# On RHEL, enable RHSCL repository for you system:
$ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms
# 2. Install the collection:
$ sudo yum install rh-nodejs12
# 3. Start using software collections:
$ scl enable rh-nodejs12 bash