安装 python 2.7 Java Node.js 等旧版本运行环境
谨权量,审法度,修废官,四方之政行焉。 兴灭国,继绝世,举逸民,天下之民归心焉。
在 debian 12 安装 python 2.7
下载安装:
wget http://ftp.debian.org/debian/pool/main/p/python2.7/python2.7-minimal_2.7.18-8+deb11u1_amd64.deb
wegt http://ftp.debian.org/debian/pool/main/p/python2.7/libpython2.7-minimal_2.7.18-8+deb11u1_amd64.deb
sudo dpkg -i ./python2.7-minimal_2.7.18-8+deb11u1_amd64.deb
sudo dpkg -i ./libpython2.7-minimal_2.7.18-8+deb11u1_amd64.deb
建一个别名
alias python2='python2.7'
在 debian 12 安装旧版本的 Java
某项目用的是 Java 8 的版本,Debian 系统默认安装最新的 Java 11 版本,会报错。切换到对应版本就好了。
Debian 的发行版和 JAVA 的发行版有一个对应关系。
| Debian 版本 | Java 版本 | 包 |
|---|---|---|
| 12 bookworm | OpenJDK v17 | JRE: openjdk-17-jre JDK: openjdk-17-jdk |
| 11 bullseye | OpenJDK v11 | JRE: openjdk-11-jre JDK: openjdk-11-jdk |
| 10 buster | OpenJDK v11 | JRE: openjdk-11-jre JDK: openjdk-11-jdk |
| 9 stretch | OpenJDK v8 | JRE: openjdk-8-jre JDK: openjdk-8-jdk |
| 8 jessie | OpenJDK v7 | JRE: openjdk-7-jre JDK: openjdk-7-jdk |
下载和安装
首先下载需要用到的版本
# openjdk-8-jre
wget http://mirrors.ustc.edu.cn/debian/pool/main/o/openjdk-8/openjdk-8-jre_8u402-ga-2_amd64.deb
wget http://mirrors.ustc.edu.cn/debian/pool/main/o/openjdk-8/openjdk-8-jre-headless_8u402-ga-2_amd64.deb
# openjdk-8-jdk
wget http://mirrors.ustc.edu.cn/debian/pool/main/o/openjdk-8/openjdk-8-jdk_8u402-ga-2_amd64.deb
wget http://mirrors.ustc.edu.cn/debian/pool/main/o/openjdk-8/openjdk-8-jdk-headless_8u402-ga-2_amd64.deb
安装
sudo dpkg -i *.deb
切换版本
选择想要切换到的版本的编号即可。
# 选择编号
sudo update-alternatives --config java
# 查看版本
java -version
# 输出如下
# openjdk version "1.8.0_275"
# OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-1~deb9u1-b01)
# OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
重新安装依赖
mvn install
在 Centos 7 安装 Node.js 18
在老版本的 CentOS 上面无法安装比较新的 glibc ,直接用 nvm 安在高版本的 Node.js 可以安装成功,但是运行会这样报错:
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
首先看看当前版本的 glibc :
$ ldd --version
ldd (GNU libc) 2.17
然后在 这里 找到需要的版本。
我需要安装 Node.js 18 正好这里有对应的 glibc-217 版本:
nvm install 18.20.2
nvm use 18.20
node -v # 报错
which node # 找到 node 文件的位置
cd ~/.nvm/versions/node/
# 下载编译好的二进制
wget https://unofficial-builds.nodejs.org/download/release/v18.20.2/node-v18.20.2-linux-x64-glibc-217.tar.gz
# 解压缩
tar -zvxf node-v18.20.2-linux-x64-glibc-217.tar.gz
rm v18.20.2 -rf
# 重命名文件夹
mv node-v18.20.2-linux-x64-glibc-217 v18.20.2
# 然后就可以运行了
node -v