更新: 为了尝试缩小问题范围,我尝试运行已成功安装 VS Code 的不同版本的 Buster。 我还安装了 VS Code 1.69,因为那是当时的当前版本。
有一些“问题!”,比如确保我在 Windows 中安装了 openSSH 服务器,将 Windows 计算机的公钥复制到远程设备,以及其他一些小调整,然后我正在运行、可以连接、可以加载远程工作区,一切看起来都很好。
因此,我尝试更新到 1.91.1(截至目前的最新版本),启动它,并尝试像以前一样重新连接。 不好。
我收到了下载和设置远程服务器的反复尝试。 我尝试删除 .vscode-server 目录,如上一篇文章中所述,但我仍然失败,总是收到以下错误:
Failed to connect to the remote extension host server (Error: WrappedError(WrappedError { message: "error checking server integrity", original: "failed to run command \"/home/pi/.vscode-server/cli/servers/Stable-f1e16e1e6214d7c44d078b1f0607b2388f29d729.staging/server/bin/code-server --version\" (code 1): /home/pi/.vscode-server/cli/servers/Stable-f1e16e1e6214d7c44d078b1f0607b2388f29d729.staging/server/node: /lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/pi/.vscode-server/cli/servers/Stable-f1e16e1e6214d7c44d078b1f0607b2388f29d729.staging/server/node)\n" }))
此错误的关键部分似乎是:
/home/pi/.vscode-server/cli/servers/Stable-f1e16e1e6214d7c44d078b1f0607b2388f29d729.staging/server/node: /lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.26' not found
即使删除 .vscode-server 目录(并看到它被 .vscode-server 和 .vscode-remote-containers 目录替换),它仍然不起作用,并且仍然抛出完全相同的错误。
我开始怀疑“/lib/arm-linux-gnueabihf/libstdc++.so.6:版本`GLIBCXX_3.4.26'”与Buster不兼容。 (我还没有尝试过 Bullseye 或 Bookworm,因为向这些平台的移植过程正在进行中。)
我注意到其他论坛帖子上的一些人(在其他地方,不是这里),试图在他们的系统上将 gcc 重新编译为 3.4.26,一致的意见是 HECK NO!!,因为它会让系统崩溃面目全非。
如果是这样的话,是否有兼容Raspberry Pi O/S Buster的最高升级版本?
================================
2002 年,我成功地将 Visual Studio Code 连接到基于 Raspberry Pi 的机器人,并使用 Windows 10 笔记本电脑上安装的 VS Code 和机器人上安装的小型远程服务器 shim 进行远程开发。然而,截至 2024 年 7 月,情况发生了变化。
我正在尝试在当前版本的 Windows 10 和当前版本的 Raspberry Pi O/S Buster 中重新创建远程环境,但它从未完成。
我安装了“远程 SSH”扩展并尝试连接到远程目标:
我选择目标。
它询问目标的操作系统类型,我回答“Linux”
它要求我提供“pi”用户的密码。
它开始将服务器 shim 下载到机器人的操作系统。
有大约30秒的停顿。
然后它再次询问目标所拥有的操作系统类型。
和以前一样,我选择“Linux”。
我再次给它“pi”用户的密码。
它启动了第二个下载垫片的实例
又停顿了约30秒。
整个过程又重新开始,看似没有尽头。
注:
只要我继续用 VS Code 跳这支舞,它就会重复这个过程。
再多的等待也不会最终成功。
我已经卸载、安装、重新安装(反复),但似乎没有任何帮助。 我还删除了机器人本身
.vscode-server
中的/home/pi
目录,但没有任何效果。
我看到之前的一篇文章提到 Visual Studio Code 进行了更改,恢复到 1.8.5 版本可以解决问题。 但是,如果我安装旧版本,则不会加载任何扩展,并且我找不到早期的扩展。
我尝试返回 2022 年的备份,并将整个 VS Code 上下文从旧备份复制到我的新机器。我一启动旧版本的 VS Code,它就完全使扩展失效并更新到 v1.9n。
TL;DR:如果您运行的是 Raspberry Pi O/S Buster,则版本上限为 1.89.1。
将 Visual Studio Code 升级到最新版本的问题似乎是,从版本 1.90.n 或更高版本开始,对 glibc 版本 3.4.26 存在硬依赖,并且(AFAIK)无法在 Buster 上运行/安装。
因此,我能够在 Windows 10 上安装并在 Buster 上成功远程运行的最新版本是 1.89.1。
容器可能是问题的一部分,因为从 1.91.n 开始,Visual Studio Code 还安装了一个
.vscode-remote-container
目录 - 尽管我不知道这是否也会影响它。