Node.js安装及npm、yarn配置
安装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.3Node.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.6 | GLIBC_2.15 | GLIBC_2.27 |
| /lib64/libstdc++.so.6 | GLIBCXX_3.4.19 CXXABI_1.3.7 | GLIBCXX_3.4.21 CXXABI_1.3.9 |
| /lib64/libc.so.6 | GLIBC_2.17 | GLIBC_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.solibc-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/v6Windows: C:\Users\Administrator\AppData\Local\Yarn\Cache\v6 |
yarn cache list | 查看包缓存列表 |
yarn cache clean | 清空缓存,生产服务器无需yarn缓存,在安装好项目依赖后,可以清空缓存以释放更多的磁盘空间。 |