侧边栏壁纸
博主头像
星空之上博主等级

你要偷偷努力,然后惊艳所有人。🎈

  • 累计撰写 18 篇文章
  • 累计创建 13 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

最新版本 Centos 7 yum 安装nodejs、npm、pm2、yarn 并升级GLIBC

Pluto
2023-12-28 / 0 评论 / 0 点赞 / 103 阅读 / 11696 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-12-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

最新版本 Centos 7 yum 安装nodejs、npm、pm2、yarn 并升级GLIBC

一、环境准备

1.1 查看系统环境

[root@localhost /]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost /]# uname -m
x86_64
[root@localhost /]# uname -r
3.10.0-1160.105.1.el7.x86_64

1.2 关闭防火墙和selinux

1.2.1 关闭防火墙

[root@localhost /]# systemctl stop firewalld.service
[root@localhost /]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

1.2.2 关闭selinux

[root@localhost ~]# getenforce    #查看selinux是否开启
Enforcing    #enforcing表示selinux开启的,
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'  /etc/selinux/config    #修改配置文件,需要重启才后永久关闭
[root@localhost ~]# setenforce 0    #临时关闭selinx
[root@localhost ~]# getenforce    #检测是否关闭
Disabled

二、安装epel源 (Extra Packages for Enterprise Linux) 仓库

添加 EPEL 仓库,就可以通过 yum 安装 EPEL 仓库中提供的额外软件包。这些软件包通常是主仓库中没有的,可以获取更广泛的软件选择和更新的软件版本。

[19:11:07:590][root@localhost ~]# yum install epel-release -y

三、安装nodejs和npm

3.1 安装nodejs和npm

yum install nodejs npm -y

3.2 查看安装的node和npm版本

[19:11:57:054][root@localhost ~]# node -v
[19:11:57:071]v16.9.1
[19:11:59:629][root@localhost ~]# npm -v
[19:11:59:998]8.19.4

3.3 npm常用命令

3.3.1 初始化新项目

npm init    #初始化一个新的 JavaScript 项目,创建一个 `package.json` 文件

3.3.2 安装和管理包

npm install [package_name]    #安装一个包到项目中
npm install [package_name]@version    #安装特定版本的包
npm install -g [package_name]    #全局安装一个包
npm update [package_name]    #更新项目中的一个包
npm uninstall [package_name]    #从项目中卸载一个包

3.3.3 项目依赖和配置

npm list    #列出项目依赖的包
npm view [package_name] versions    #查看可用版本的包
npm config list    #查看 npm 配置

3.3.4 运行脚本和发布

npm run [script]    #运行定义在 package.json 中的脚本
npm start    #运行 package.json 中的 start 脚本
npm test    #运行 package.json 中的 test 脚本
npm publish    #发布包到 npm

3.3.5 其他常用命令

npm cache clean --force    #清除 npm 缓存
npm help [command]    #获取命令的帮助信息

到这里 已经算安装完成了,但对我所需要的环境还是版本较低,下面升级一下版本.
切记! 如果当前版本已经够你使用 不要再升级了.不然下面要出现问题了~

3.4 (可选) 设置淘宝镜像和安装淘宝 cnpm

# 设置淘宝镜像源
npm config set registry https://registry.npm.taobao.org
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 取消设置
npm config set registry https://registry.npmjs.org/
#查看当前镜像配置
npm config get registry

3.5 安装升级node版本的工具 n 是一个 Node.js 版本管理器

npm install -g n

3.6 n的常用方法

3.6.1 安装 Node.js 版本

n latest # 安装最新版本的 Node.js
n stable # 安装最稳定的 Node.js 版本
n lts # 安装最新的长期支持(LTS)版本的 Node.js
n [version] # 安装指定版本的 Node.js,如 n 14.17.0

3.6.2 查看和选择 Node.js 版本

n # 显示安装的版本并选择
n ls # 列出已安装的 Node.js 版本
n ls-remote # 列出可安装的 Node.js 版本
n [version] # 切换到指定版本,如 n 14.17.0

3.6.3 卸载 Node.js 版本

n rm [version] # 卸载指定版本的 Node.js,如 n rm 14.17.0
n prune # 移除所有不是当前选定版本的 Node.js 版本

3.6.4 其他命令

n --version # 显示 n 的版本信息
n doctor # 运行 n 的诊断工具
n which [version] # 显示指定版本 Node.js 的安装路径
n use [version] [args] # 以指定的 Node.js 版本运行脚本
n bin [version] # 显示指定版本 Node.js 的 bin 目录
n cache clear # 清除 n 的下载缓存
n auto # 自动根据当前目录的 .n-node-version 文件切换 Node.js 版本

3.6.5 环境变量

N_PREFIX # 设置 n 的安装目录
N_NODE_MIRROR # 设置 Node.js 镜像的 URL
N_NODE_VERSIONS # 设置 n 存储 Node.js 版本的目录

3.7 升级node到稳定版

[15:31:08:193][root@localhost ~]# n stable
[15:31:08:615]  installing : node-v20.10.0
...

3.8 升级npm到最新版(报错了!)

[15:32:05:814][root@localhost ~]# npm install -g npm
[15:32:05:821]node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
[15:32:05:821]node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
[15:32:05:821]node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
[15:32:05:821]node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
[15:32:05:821]node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
[15:32:05:821]node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)

系统中缺少所需的 GLIBC 和 GLIBCXX 版本,那么 开始安装缺失的库~

四、安装glibc-2.28 (此步骤根据机器性能来定需要的时间.)

4.1 编译升级gcc8.5.0

4.1.1 安装所需要的依赖库

yum install -y gmp-devel mpfr-devel libmpc-devel gcc gcc-c++ gcc-gfortran.x86_64 make bison

由于 yum 安装的 gcc 和 make 版本太低,所以只能手动编译安装了

# 下载源代码压缩包
wget https://ftp.gnu.org/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz
#解压
tar -zxvf gcc-8.5.0.tar.gz
cd gcc-8.5.0
#编译
./configure --prefix=/usr --disable-multilib --enable-languages=c,c++,fortran
make -j 8
#卸载低版本
yum remove gcc -y
# 安装8.5.0版本的gcc
make install
# 查看版本是否升级成功
gcc -v

4.2 编译升级make4.3

# 下载源代码压缩包
wget https://ftp.gnu.org/gnu/make/make-4.3.tar.gz
#解压
tar -zxvf make-4.3.tar.gz
cd make-4.3
#编译并安装
./configure --prefix=/usr && make && make install
# 查看版本是否升级成功
make -v

4.3 编译glibc

# 下载源代码压缩包
wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
#解压
tar -zxvd glibc-2.28.tar.gz
#解压
cd glibc-2.28 && mkdir build && cd build
../configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include  --disable-sanity-checks --disable-werror      #/usr禁止修改安装目录,改后无法登录. 这里用覆盖模式,直接用
make -j 8
# 安装
make install
make localedata/install-locales #解决乱码问题

make install 如果提示报错,可暂时忽略,看一下命令中是否有 glibc-2.28版本,有即可

strings /lib64/libc.so.6 | grep GLIBC_

此时再升级npm就好了.

五、安装PM2工具 (进程管理器)

5.1 安装PM2

npm install -g pm2

5.2 PM2的常用方法

5.2.1 启动应用

pm2 start app.js    #使用 PM2 启动 app.js 文件
pm2 start app.js --name="MyApp"    #以自定义名称启动应用
pm2 start app.js -i max    #以集群模式启动应用,并根据 CPU 核心数启动最大实例数
pm2 start app.js --watch    #启动应用并监控文件变化自动重启

5.2.2 列出所有进程

pm2 list    #显示所有由 PM2 管理的进程
pm2 monit    #监控所有进程
pm2 show [app-name]    #显示特定应用的详细信息

5.2.3 重启和停止

pm2 restart all    #重启所有进程
pm2 reload all    #无宕机重新加载所有进程
pm2 stop all    #停止所有进程
pm2 restart [app-name]    #重启指定的应用

5.2.4 日志管理

pm2 logs    #显示所有进程的日志
pm2 logs [app-name]    #显示指定应用的日志
pm2 flush    #清空所有日志文件
pm2 reloadLogs    #重新加载所有日志

5.2.5 负载均衡和集群模式

pm2 start app.js -i 0    #根据可用 CPU 数启动最大进程数
pm2 scale [app-name] +3    #增加 [app-name] 的实例数
pm2 scale [app-name] 2    #将 [app-name] 的实例数调整为 2

5.2.6 配置和环境管理

pm2 start app.js --env production    #在生产环境下启动应用
pm2 start ecosystem.config.js    #根据配置文件启动应用

5.2.7 其他重要命令

pm2 save    #保存当前的进程列表和配置
pm2 resurrect    #在系统重启后恢复之前保存的进程列表
pm2 update    #更新 PM2 运行时和所有应用
pm2 reload [app-name]    #无宕机重新加载指定应用
pm2 logrotate    #开启日志文件自动轮换
pm2 deploy [configuration_file] [environment] [action]    #部署应用
pm2 plus    #启动 PM2 Plus 互动式仪表板
pm2 describe [id|name]    #描述特定应用的状态和详情
pm2 reset [process_name]    #重置重启计数
pm2 delete [process_name]    #删除并停止指定的进程
pm2 ping    #检查 PM2 守护进程是否运行
pm2 report    #生成状态报告,用于故障排除
pm2 startup    #生成启动脚本

六、安装yarn工具 (包管理工具)

6.1 安装yarn工具

npm install -g yarn

6.2 yarn常用命令

6.2.1 初始化新项目

yarn init    #初始化一个新的 JavaScript 项目,创建一个 `package.json` 文件

6.2.2 安装和管理包

yarn add [package_name]    #安装一个包到项目中
yarn add [package_name]@version    #安装特定版本的包
yarn global add [package_name]    #全局安装一个包
yarn upgrade [package_name]    #更新项目中的一个包
yarn remove [package_name]    #从项目中卸载一个包

6.2.3 项目依赖和配置

yarn list    #列出项目依赖的包
yarn info [package_name]    #查看包的信息
yarn config list    #查看 yarn 配置

6.2.4 运行脚本和发布

yarn run [script]    #运行定义在 package.json 中的脚本
yarn start    #运行 package.json 中的 start 脚本
yarn test    #运行 package.json 中的 test 脚本
yarn publish    #发布包到 npm

6.2.5 其他常用命令

yarn cache clean    #清除 yarn 缓存
yarn help [command]    #获取命令的帮助信息
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区