VS Code新版本无法连接WSL ubuntu18.04

原因

VS Code升级1.85以上后,隐性升级了捆绑的node版本,vscode-server的node依赖于GLIBC_2.28(使用旧版本等于丧失新功能使用权,而且设置也可能无法同步)

常见报错

  • sh: 1: /scripts/wslServer.sh: not found

升级后,由于关闭了wsl自动挂载,需把对应部分全删去(可以做好部分)

vim /etc/wsl.conf

  • /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found

node需要GLIBC_2.28支持,而Ubuntu 18.04最高支持GLIBC_2.27

GLIBC

支持的 glibc 版本”就是仓库里 libc6 软件包对应的版本

查看系统对应版本

ldd = “list dynamic dependencies”

ldd --version

查看还可安装版本

apt-cache policy libc6

查看libc 支持的最高/最低版本

strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_

查看自装的glibc-2.28

strings /opt/glibc-2.28/lib/libc.so.6 | grep GLIBC_
strings /opt/glibc-2.28/lib/libc.so.6 | grep -E '^GLIBC_'

Node.js(扩展)

node=Node.js 运行时主程序(ELF 可执行)

作用:把 JavaScript 搬到服务器、命令行、桌面” 的 跨平台运行时 + 海量生态

nvm 管 Node 版本 → Node 自带 npm → npm 管 JS 包

安装指定版本node

nvm install 20

查看已安装node版本

nvm ls

切换node版本

nvm use 20.0.0

卸载node版本

nvm uninstall 18.10.8

解决办法

// 编译并覆盖安装glibc(libc6),否则导致系统异常崩溃

让VS Code 的远程连接node脱离系统 glibc,指向自定义 GLIBC-2.28

手动编译GLIBC-2.28

// 自定义目录保存源码 mkdir ~/lib/glibc-2.28/src/ cd ~/lib/glibc-2.28/src/ //下载源码 wget 'https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz' tar xzf glibc-2.28.tar.gz // 必须指定prefix,作用就是“告诉构建系统:安装时把文件放到哪里” mkdir glibc-2.28-build cd glibc-2.28-build ../glibc-2.28/configure --prefix=/opt/glibc-2.28 // 编译源码 make // 安装到指定目录 sudo make install

prefix:

不会影响系统/lib/x86_64-linux-gnu/libc.so.6也不会自动被任何程序找到
谁想用,就必须手动指定

安装之后得到

/opt/glibc-2.28/lib/libc.so.6 /opt/glibc-2.28/lib/ld-linux-x86-64.so.2 /opt/glibc-2.28/include/...

修改node

进入报错目录下的node节点

~/.vscode-server/bin/94e8ae2b28cb5cc932b86e1070569c4463565c37/node

做好node备份

cp node node.bak

把node链接到我们安装的glibc-2.28上

按其它友友们的说下,以下任选一行,即可VS远程即可正常

  • 方法一
patchelf --set-interpreter /opt/glibc-2.28/lib/ld-linux-x86-64.so.2 --set-rpath /opt/glibc-2.28/lib:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu node
  • 方法二
patchelf --set-interpreter /opt/glibc-2.28/lib/ld-linux-x86-64.so.2 --set-rpath /opt/glibc-2.28/lib:/usr/lib/x86_64-linux-gnu --force-rpath node

VS Code 用的 node 没走你的特制 ld.so,于是找不到libgcc_s.so.1

~/.vscode-server/bin/94e8ae2b28cb5cc932b86e1070569c4463565c37/node: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory

比较方法一,其搜库路径是先 2.28 → 再系统 /lib → 再 /usr/lib
缺失了系统/lib
,加上即可

--force-rpath不建议使用,“强行写老段”——优先级更高、无法被环境变量覆盖、已过时无特殊兼容性需求就别加

patchelf --set-interpreter /opt/glibc-2.28/lib/ld-linux-x86-64.so.2 --set-rpath /opt/glibc-2.28/lib:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu --force-rpath node
方法三

若以上方法还是不行

直接在终端里生成一个小脚本,把原 node 二进制换成一个 shell wrapper

这个方法虽然能连上,但vs的功能基本上都用不了,“自废武功”

wrapper 脚本就是“壳”脚本——本身不是真正的可执行文件,但同名同路径,先被系统调到,内部再帮你把真实程序拉起来,顺便偷偷加点料(比如换 glibc、加环境变量、改参数等)

cat > /home/chenkang/.vscode-server/bin/94e8ae2b28cb5cc932b86e1070569c4463565c37/node <<'EOF' #!/bin/bash exec /opt/glibc-2.28/lib/ld-linux-x86-64.so.2 --library-path /opt/glibc-2.28/lib:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu /home/chenkang/.vscode-server/bin/94e8ae2b28cb5cc932b86e1070569c4463565c37/node.real "$@" EOF chmod +x /home/chenkang/.vscode-server/bin/94e8ae2b28cb5cc932b86e1070569c4463565c37/node
解析
  • ld-linux-x86-64.so.2

ld.so 就是Linux 的“动态链接加载器”/lib*/ld-linux*.so.2),内核 execve 任何动态链接 ELF 时第一个被拉进内存的程序——负责把可执行文件和所有 .so 库真正拼接成可运行进程,然后才把控制权交给你的 main。

  • patchelf 改 interpreter/rpath≈ 给自家车库装了自动门,车一靠近就自己开。

--set-rpath:按顺序搜库,把搜库路径焊进文件里一次修改永久生效

--set-interpreter:改写 ELF 可执行文件“解释器”路径,谁运行 node 都会先加载你指定的 ld.so

  • exec + --library-path≈ 每次出门都手动打一次网约车;

--library-path手动选库路径开关,它只在那一次启动生效不会写进可执行文件

验证

ldd node就是 "让 ld.so 预演一遍加载过程”,把最终选中的库路径逐行打印出来",用来快速判断 node 实际会吃哪份 glibc

修改node链接前

修改node链接后

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1145186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI侦测实战案例:10分钟完成视频流分析部署

AI侦测实战案例&#xff1a;10分钟完成视频流分析部署 引言&#xff1a;为什么需要离线AI视频分析&#xff1f; 想象一下这样的场景&#xff1a;你带着智能监控设备去客户现场演示&#xff0c;却发现那里网络信号极差&#xff0c;连基本的视频上传都成问题。这正是很多监控设…

没预算怎么做POC?AI侦测按需付费,1元验证可行性

没预算怎么做POC&#xff1f;AI侦测按需付费&#xff0c;1元验证可行性 1. 为什么创业公司需要低成本AI安防POC 作为创业公司&#xff0c;向投资人演示产品前往往面临一个两难困境&#xff1a;既需要展示足够专业的技术方案&#xff0c;又受限于紧张的预算无法投入大量资源。…

联邦学习+AI侦测:隐私保护的新方案

联邦学习AI侦测&#xff1a;隐私保护的新方案 引言 在银行风控领域&#xff0c;数据就是黄金。但现实情况是&#xff1a;各家银行的数据就像锁在各自保险箱里的珍宝&#xff0c;既想联合起来提升风控能力&#xff0c;又担心数据泄露风险。这就是典型的"数据孤岛"困…

AI侦测竞赛必备:临时GPU按需创建,赛后立即释放省钱

AI侦测竞赛必备&#xff1a;临时GPU按需创建&#xff0c;赛后立即释放省钱 引言&#xff1a;为什么你需要临时GPU资源&#xff1f; 参加AI侦测竞赛时&#xff0c;很多同学都会遇到一个两难问题&#xff1a;决赛阶段需要更强的算力来跑模型&#xff0c;但比赛可能只持续3天&am…

AI智能体+CRM集成指南:零代码5分钟连接业务数据

AI智能体CRM集成指南&#xff1a;零代码5分钟连接业务数据 1. 为什么销售经理需要AI智能体 作为销售经理&#xff0c;你是否经常遇到这些困扰&#xff1a; - 客户数据分散在各个系统中&#xff0c;难以快速获取全局视图 - 手工制作销售报表耗时费力&#xff0c;无法实时掌握业…

智能家居AI侦测方案:树莓派+云端协同,低成本实现

智能家居AI侦测方案&#xff1a;树莓派云端协同&#xff0c;低成本实现 引言&#xff1a;为什么需要边缘云端协同&#xff1f; 智能家居正在从简单的远程控制进化到主动感知环境、预测需求的AI时代。但一个现实难题摆在面前&#xff1a;摄像头、传感器产生的海量数据全部上传…

没GPU怎么玩AI实体侦测?云端镜像5分钟部署,2块钱体验

没GPU怎么玩AI实体侦测&#xff1f;云端镜像5分钟部署&#xff0c;2块钱体验 引言&#xff1a;当MacBook遇上AI实体侦测 作为初创公司的CTO&#xff0c;你可能遇到过这样的困境&#xff1a;团队清一色使用MacBook开发&#xff0c;但GitHub上那些酷炫的AI实体侦测项目&#xf…

UE5 C++(20):

&#xff08;107&#xff09; &#xff08;108&#xff09; 谢谢

零售热力图生成教程:AI侦测顾客停留,成本比专业方案低80%

零售热力图生成教程&#xff1a;AI侦测顾客停留&#xff0c;成本比专业方案低80% 引言&#xff1a;为什么你需要AI热力图&#xff1f; 开一家小店最头疼什么&#xff1f;货架摆得对不对&#xff1f;促销区放哪里客人最爱停留&#xff1f;传统方案是花2万/年买专业热力分析系统…

没GPU如何测试AI侦测?3步搞定云端部署

没GPU如何测试AI侦测&#xff1f;3步搞定云端部署 引言 作为技术总监&#xff0c;当您需要快速评估AI侦测模型效果时&#xff0c;最头疼的莫过于等待IT采购流程。传统采购GPU服务器动辄需要2周审批&#xff0c;而项目演示报告可能明天就要提交。这种情况就像消防演习时发现灭…

AI侦测模型轻量化:低配GPU也能跑的技巧

AI侦测模型轻量化&#xff1a;低配GPU也能跑的技巧 1. 为什么需要模型轻量化&#xff1f; 作为一名县城中学的计算机老师&#xff0c;你可能遇到过这样的困境&#xff1a;想给学生讲解AI侦测技术&#xff0c;但机房的显卡还是GTX1050这种"古董级"硬件。别担心&…

工厂异常行为检测实战:2小时快速验证,成本不到5块

工厂异常行为检测实战&#xff1a;2小时快速验证&#xff0c;成本不到5块 引言&#xff1a;一杯奶茶钱的AI可行性验证 作为制造业工程师&#xff0c;你可能经常遇到这样的困境&#xff1a;生产线上需要检测工人违规操作、设备异常状态或安全隐患&#xff0c;但传统人工巡检效…

医疗影像实体分割体验:专业显卡太贵?云端按需租用

医疗影像实体分割体验&#xff1a;专业显卡太贵&#xff1f;云端按需租用 引言&#xff1a;当医学生遇上AI影像分析 作为一名医学生&#xff0c;你是否经常需要分析大量DICOM格式的医疗影像&#xff1f;CT、MRI这些高分辨率影像不仅文件体积大&#xff0c;用普通电脑打开都卡…

AI法律文书分析:合同关键实体识别,律师零技术基础可用

AI法律文书分析&#xff1a;合同关键实体识别&#xff0c;律师零技术基础可用 引言&#xff1a;当法律遇上AI 作为一名律所助理&#xff0c;每天面对堆积如山的合同文件&#xff0c;你是否经常感到力不从心&#xff1f;合同审查中需要反复查找的关键条款、责任主体、金额数字…

智能安防AI体验方案:无需买设备,云端按小时计费

智能安防AI体验方案&#xff1a;无需买设备&#xff0c;云端按小时计费 引言&#xff1a;为什么需要云端智能安防&#xff1f; 最近很多小区业委会都在考虑升级智能监控系统&#xff0c;但传统方案动不动就要一次性投入5万元以上购买硬件设备&#xff0c;还要承担安装维护成本…

AI智能体语音助手开发:从入门到实战

AI智能体语音助手开发&#xff1a;从入门到实战 1. 为什么需要云端开发环境&#xff1f; 语音助手开发通常需要处理大量音频数据和运行复杂的语音模型&#xff0c;这对个人电脑的性能提出了很高要求。想象一下&#xff0c;就像要同时播放100个高清视频&#xff0c;普通电脑的…

AI+安防最佳实践:5个成功案例+可复现云端环境

AI安防最佳实践&#xff1a;5个成功案例可复现云端环境 引言&#xff1a;AI如何重塑安防行业&#xff1f; 想象一下&#xff0c;一个24小时不眨眼、不会疲劳的超级保安&#xff0c;能同时监控上千个摄像头&#xff0c;还能准确识别异常行为——这就是AI给安防行业带来的变革。…

实时语音工单实体识别:云端ASR+NLP流水线,延迟<1秒

实时语音工单实体识别&#xff1a;云端ASRNLP流水线&#xff0c;延迟<1秒 1. 为什么需要实时语音工单识别&#xff1f; 想象一下&#xff0c;当你拨打客服电话投诉时&#xff0c;接线员需要一边听你说话一边手动记录关键信息。这种传统方式不仅效率低下&#xff0c;还容易…

宏智树AI:不是“代写”,而是陪你把论文写得更聪明、更扎实、更像你自己

在学术写作的世界里&#xff0c;工具从来不该是捷径&#xff0c;而应是桥梁——连接你的思考与表达&#xff0c;弥合理论与数据之间的缝隙&#xff0c;照亮从选题到答辩的每一步。 宏智树AI&#xff0c;正是这样一座为当代学子量身打造的智能科研桥梁。宏智树AI官网www.hzsxues…

农业AI智能体应用案例:1块钱分析农田传感器数据

农业AI智能体应用案例&#xff1a;1块钱分析农田传感器数据 1. 为什么农场主需要AI分析数据 想象一下&#xff0c;你是一位种植玉米的农场主&#xff0c;每天需要决定&#xff1a; - 哪块地该浇水了&#xff1f; - 什么时候施肥最合适&#xff1f; - 怎么预防病虫害&#xff…