安装Node.js

下载地址:https://nodejs.org/download/release/

[root@ecs ~]# yum install -y wget
[root@ecs ~]# cd /usr/local/src
[root@ecs src]# wget https://nodejs.org/download/release/v22.23.1/node-v22.23.1-linux-x64.tar.xz
[root@ecs src]# tar -Jxvf node-v22.23.1-linux-x64.tar.xz
[root@ecs src]# mv node-v22.23.1-linux-x64 /usr/local/node
[root@ecs src]# echo "export PATH=\$PATH:/usr/local/node/bin/" >> /etc/profile
[root@ecs src]# source /etc/profile
[root@ecs src]# node --version
v22.9.0
[root@ecs src]# npm --version
10.8.3

Node.js从v18开始,CentOS 7.9默认glibc的版本低于Node.js动态链接库依赖的glibc版本,因此必须升级glibc版本

Node.js v18+要求glibc的版本不能低于2.28,升级教程参考:CentOS 7.9升级glibc到2.28-2.33

动态链接库系统默认支持最高版本符号node v18+依赖glibc最低版本符号
/lib64/libm.so.6GLIBC_2.15GLIBC_2.27
/lib64/libstdc++.so.6GLIBCXX_3.4.19
CXXABI_1.3.7
GLIBCXX_3.4.21
CXXABI_1.3.9
/lib64/libc.so.6GLIBC_2.17GLIBC_2.28

查看node依赖的动态链接库

[root@ecs ~]# cd /usr/local/node/bin
[root@ecs bin]# ldd node
./node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' 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/libm.so.6: version `GLIBC_2.27' not found (required by ./node)
./node: /lib64/libc.so.6: version `GLIBC_2.27' 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)
        linux-vdso.so.1 =>  (0x00007ffd8d1f4000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f46a0408000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f46a0100000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f469fdfe000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f469fbe8000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f469f9cc000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f469f5fe000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f46a060c000)

查看版本符号信息

[root@ecs ~]# strings /lib64/libm.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.4
GLIBC_2.15
GLIBC_PRIVATE
GLIBC_2.15
__strtold_nan@@GLIBC_PRIVATE
__errno_location@@GLIBC_2.2.5
errno@@GLIBC_PRIVATE
qsort@@GLIBC_2.2.5
__strtod_nan@@GLIBC_PRIVATE
fputs@@GLIBC_2.2.5
memset@@GLIBC_2.2.5
feupdateenv@@GLIBC_2.2.5
GLIBC_2.4
_rtld_global_ro@@GLIBC_PRIVATE
__strtof_nan@@GLIBC_PRIVATE
memmove@@GLIBC_2.2.5
fwrite@@GLIBC_2.2.5
__cxa_finalize@@GLIBC_2.2.5
stderr@@GLIBC_2.2.5

查看依赖库版本

[root@ecs ~]# ll /lib64/libc.so.6
lrwxrwxrwx. 1 root root 12 Jun 27 17:06 /lib64/libc.so.6 -> libc-2.17.so

libc-2.17.so表示libc的版本是2.17。

安装yarn

yarn由Facebook和Google等公司联合推出的js包管理工具。yarn可以同步安装所有package,且遇到已经安装过的包会从本地缓存获取。为了防止拉取模块时出现版本兼容问题,yarn.lock会记录安装的模块版本号,这样就可以确保每次拉取项目依赖时模块的版本都是一致的。

[root@ecs ~]# npm -g install yarn --registry=https://registry.npmmirror.com

配置阿里云镜像源

[root@ecs ~]# yarn config set registry https://registry.npmmirror.com
[root@ecs ~]# yarn config get registry

打开power shell,执行以下策略,即可在vscode终端执行yarn。

PS C:\Users\Administrator> set-executionpolicy remotesigned

缓存操作

指令说明
yarn cache dir查看缓存目录
Linux:/usr/local/share/.cache/yarn/v6
Windows:C:\Users\Administrator\AppData\Local\Yarn\Cache\v6
yarn cache list查看包缓存列表
yarn cache clean清空缓存,生产服务器无需yarn缓存,在安装好项目依赖后,可以清空缓存以释放更多的磁盘空间。

标签: none

添加新评论