winney

It is never too old to learn.

0%
winney

使用node -v在腾讯云服务器查看Node.js版本时,报:
1
2
3
4
5
6
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' 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.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)

问题分析

  1. GLIBC 版本过旧:系统目前的 GLIBC 版本太低,不支持 Node.js 需要的 GLIBC_2.27 及以上版本
  2. libstdc++ 版本不匹配:Node.js 也需要 libstdc++ 提供的 C++ ABI 兼容性,但服务器上 libstdc++ 版本较低

解决方案:

⚠️注意:我不想升级系统的 GLIBC,使用 nvm(Node Version Manager) 来安装适配的 Node.js 版本:

1
2
3
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc
nvm install 16
切换到 Node.js 16:
1
nvm use 16
再检查
1
node -v
返回版本啦
1
v16.13.0
如果希望每次登录服务器都自动使用 Node.js 16,可以运行:
1
nvm alias default 16
返回:
1
default -> 16 (-> v16.13.0)

这样以后登录服务器时,nvm 会默认使用 Node.js 16。

前提:在提交文件到GitHub上之前,忘了加上.gitignore文件,把.DS_Store文件提交到github上面了

说明:.DS_Store 是 macOS 系统生成的文件,用于存储文件夹的元数据(如图标位置等),通常不需要提交到 Git 仓库

删除 GitHub 仓库中已经提交的 .DS_Store 文件

⚠️ 注意:终端命令行操作路径是当前项目目录

步骤 1:创建 .gitignore 文件(如果没有的话)

在项目根目录下创建一个 .gitignore 文件,并添加以下内容:

1
2
# 忽略 .DS_Store 文件
.DS_Store
步骤 2:删除已经提交的 .DS_Store 文件
删除所有 .DS_Store 文件

运行以下命令递归删除项目中的 .DS_Store 文件:

1
find . -name ".DS_Store" -delete
步骤 3:从 Git 仓库中移除 .DS_Store 文件

即使你删除了 .DS_Store 文件,这些文件仍然存在于 Git 的历史记录中。执行以下命令将它们从 Git 记录中删除:

1
git rm --cached -r .
步骤 4:重新添加文件到 Git

.gitignore 文件生效后,重新添加文件:

1
git add .
步骤 5:提交更改

提交此次删除 .DS_Store 文件的更改:

1
git commit -m "Remove .DS_Store files and update .gitignore"
步骤 6:推送到 GitHub

将更改推送到远程仓库:

1
git push origin main

⚠️ 注意:main 是默认分支名,如果你的分支名是 master 或其他分支名,请替换 main

完成!

现在 .DS_Store 文件已经从 GitHub 仓库中删除,并且 .gitignore 会阻止它们再次被提交!

设置关键词自动回复

微信公众号后台设置

生成公众号二维码

生成二维码

获取开发者密码

获取开发者密码

接口配置

接口配置

客户端-微信服务器-开发者服务器

客户端-微信服务器-开发者服务器

设置白名单

设置白名单