CentOS 7.9部署Node.js LTS V18.16.0-说明:使用上述方式安装node-v16.20.0-linux-x64.tar.gz(下载地址https://nodejs.org/dist/),不会报错。 上述安装报错排查: (1)查看GLIBC支持版本: # strings /lib64/libc.so.6 | grep ^GLIBC_ 说明:不支持GLIBC_2.25和GLIBC_2.28。 # strings /lib64/libm.so.6 | grep ^GLIBC_ 说明:不支持GLIBC_2.27。 (2)查看CXXABI支持版本: # strings /lib64/libstdc++.so.6 | grep ^CXXABI_ 说明:不支持CXXABI_1.3.9。 (3)查看GLIBCXX支持版本: # strings /lib64/libstdc++.so.6 | grep ^GLIBCXX_ 说明:不支持GLIBCXX_3.4.20和GLIBCXX_3
(3)升级Python:
a、查看升级前版本:
# python -V
b、下载3.8.0版本并上传至服务器:
下载地址https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz
c、安装依赖软件包:
# yum -y install zlib-devel openssl-devel ncurses-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel
d、编译安装3.8.0版本:
# cd /usr/src
# tar -xf Python-3.8.0.tar.xz
# cd Python-3.8.0
# ./configure --prefix=/usr/local/python3.8.0
# make -j16
# make install
# mv /usr/bin/python /usr/bin/python2.7.5
# ln -sv /usr/local/python3.8.0/bin/python3 /usr/bin/python
# ln -sv /usr/local/python3.8.0/bin/pip3 /usr/bin/pip
e、配置环境变量:
# vim /etc/profile.d/python3.8.0.sh
export PATH=/usr/local/python3.8.0/bin:$PATH
# . /etc/profile.d/python3.8.0.sh
f、查看升级后版本:
# python -V
g、版本升级后yum命令无法使用的解决方案:
- vim /usr/bin/yum
将第一行的“#!/usr/bin/python”修改为“#!/usr/bin/python2.7.5”
- vim /usr/libexec/urlgrabber-ext-down
将第一行的“#! /usr/bin/python”修改为“#! /usr/bin/python2.7.5”
(4)安装GLIBC 2.30版本依赖的软件包:
# yum -y install bison texinfo
# bison -V
(5)编译安装2.30版本:
# cd /usr/src
# tar -xf glibc-2.30.tar.xz
# cd /usr/src/glibc-2.30
# mkdir build
# cd build
# ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
# make -j16
# make install
说明:上述的错误提示不影响GLIBC的升级,无需理会。
(6)查看升级后版本:
# ldd --version
9、查看GLIBC、CXXABI和GLIBCXX支持的版本是否满足要求:
(1)GLIBC:
# strings /lib64/libc.so.6 | grep ^GLIBC_2.25 | uniq
# strings /lib64/libc.so.6 | grep ^GLIBC_2.28 | uniq
# strings /lib64/libm.so.6 | grep ^GLIBC_2.27
(2)CXXABI:
# strings /lib64/libstdc++.so.6 | grep ^CXXABI_1.3.9 | uniq
(3)GLIBCXX:
# strings /lib64/libstdc++.so.6 | grep ^GLIBCXX_3.4.20 | uniq
# strings /lib64/libstdc++.so.6 | grep ^GLIBCXX_3.4.21 | uniq
10、看Node.js和npm版本:
# node -v
# npm -v
三、测试Node.js和配置cnpm、yarn包管理工具:
1、编写test.js测试文件:
# vim /tmp/test.js
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200,{"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);
console.log("nodejs start listen 8888 port!");
2、启动Node.js:
# node /tmp/test.js
3、浏览器访问http://192.168.0.202:8888
4、配置npm源为淘宝镜像:
(1)查看当前npm源:
# npm config get registry
(2)更换镜像为淘宝镜像:
# npm config set registry https://registry.npmmirror.com
(3)再次查看当前npm源:
# npm config get registry
说明:npm默认下载包是从国外的服务器下载的,在国内速度很慢,一般会指向淘宝镜像。旧地址https://registry.npm.taobao.org,新地址https://registry.npmmirror.com。
5、配置cnpm包管理工具:
(1)安装cnpm:
# npm install -g cnpm
(2)升级npm:
# npm install -g npm@9.6.6
(3)查看cnpm版本:
# cnpm -v
(4)使用cnpm安装软件包:
# cnpm install -g nrm
(5)更多cnpm用法,请查询
# cnpm -h
6、配置yarn包管理工具:
(1)安装yarn:
# cnpm install -g yarn
(2)查看yarn版本:
# yarn -v
(3)使用yarn安装软件包:
# yarn add express
说明:提示“info No lockfile found.”需要配置yarn源为淘宝镜像。
(4)查看当前yarn源:
# yarn config get registry
(5)更换镜像为淘宝镜像:
# yarn config set registry https://registry.npmmirror.com
(6)再次查看当前yarn源:
# yarn config get registry
说明:提示“warning package.json: No license field”需要修改package.json文件。
(7)在package.json文件中添加license字段:
# vim ~/package.json
(8)更多yarn用法,请查询
# yarn -h
推荐阅读
-
string to instant_string to instant_string to instant- 在 Android 中使用 Java 日期格式的正确方法是什么?
-
ERA5全球气象小时、日和月数据:手动和 Python 批量下载
-
围棋子测试和子基准的使用
-
要求使用 QTimzone inEN 在 Qtcreator 中更改时区
-
最完整的全球城市 ZoneId 和 UTC 时间偏移对照表
-
在 lua 中使用 string.gsub 的详细说明
-
使用 "千城导航 "的注意事项
-
在阿里云PAI平台上微调Mixtral 8X7B MoE模型的部署实践
-
在 Java 中将汉字转换为拼音首字母拼写和五笔编码的方法。
-
软件测试和应用程序接口