兴灭国继绝世

发布于     更新于
安装 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 bookwormOpenJDK v17JRE: openjdk-17-jre
JDK: openjdk-17-jdk
11 bullseyeOpenJDK v11JRE: openjdk-11-jre
JDK: openjdk-11-jdk
10 busterOpenJDK v11JRE: openjdk-11-jre
JDK: openjdk-11-jdk
9 stretchOpenJDK v8JRE: openjdk-8-jre
JDK: openjdk-8-jdk
8 jessieOpenJDK v7JRE: 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

参考: Node.js unofficial-builds project

https://stackoverflow.com/questions/72571235/can-i-install-node-js-18-on-centos-7-and-do-i-need-python-3-install-too