You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode Remote SSH扩展vscode-server手动安装失败求助

VSCode Remote SSH手动安装vscode-server失败原因及正确配置方法

问题场景

Windows环境下使用VSCode,已安装Remote SSH扩展,需连接带GPU的Ubuntu 24.04服务器(IP:192.168.1.9,端口22222)运行调试Python代码。通过Remote SSH连接时,自动安装vscode-server长期卡在:

Waiting for vscode-scp-done.flag and vscode-server.tar.gz to exist

服务器~/.vscode-server目录无任何文件生成,因无权限排查防火墙或杀毒软件问题,尝试手动安装vscode-server,在服务器执行以下命令:

wget -c https://update.code.visualstudio.com/commit:cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba/server-linux-x64/stable -O vscode-server-linux-x64.tar.gz 
mkdir -p ~/.vscode-server 
touch ~/.vscode-server/bin/cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba.0
touch ~/.vscode-server/vscode-cli-cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba.tar.gz.done

将下载的vscode-server-linux-x64.tar.gz解压至~/.vscode-server/bin/cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba目录,最终该目录结构如下:

ll ~/.vscode-server/bin/cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba
total 96220
drwxrwxr-x  6 user1 user1     4096 mai   15 14:33 ./
drwxrwxr-x  3 user1 user1     4096 mai   15 14:28 ../
-rw-rw-r--  1 user1 user1        0 mai   15 14:29 0
drwxr-xr-x  4 user1 user1     4096 janv. 16 01:13 bin/
drwxr-xr-x 35 user1 user1     4096 janv. 16 01:13 extensions/
-rw-r--r--  1 user1 user1    13380 janv. 16 01:12 LICENSE
-rwxr-xr-x  1 user1 user1 98426952 janv. 16 01:13 node*
drwxr-xr-x 96 user1 user1     4096 janv. 16 01:13 node_modules/
drwxr-xr-x  3 user1 user1     4096 janv. 16 01:13 out/
-rw-rw-r--  1 user1 user1      267 janv. 16 01:00 package.json
-rw-rw-r--  1 user1 user1    52411 janv. 16 01:12 product.json

但再次启动VSCode并通过Remote SSH连接时,仍尝试重新复制并安装vscode-server,尝试过第三方手动安装脚本也无效果。

测试发现

在本地创建Ubuntu Docker容器,通过Remote SSH扩展自动完成vscode-server安装后,容器中.vscode-server目录结构与手动安装的完全不同:

./
../
.cli.cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba.log
cli/
code-cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba*
data/
extensions/

推测可能是下载的安装包不正确,最终通过修复SCP问题让VSCode自动安装成功,现咨询手动安装失败的原因及正确配置方法。


回答

手动安装失败的核心原因

  1. 目录结构不匹配:手动创建的~/.vscode-server/bin/<commit-id>目录结构是旧版vscode-server布局,而新版(对应commit-id cd4ee3b1...)采用扁平化目录结构,不再用bin子目录存放核心文件,VSCode因找不到预期的code-<commit-id>可执行文件,触发重新安装。
  2. 标记文件规则不符:创建的vscode-cli-<commit-id>.tar.gz.done和bin/<commit-id>.0标记文件,不符合新版的命名与存放规则,VSCode无法识别,判定安装未完成。
  3. 解压路径错误:下载的压缩包内部自带一层vscode-server-linux-x64目录,手动解压时未去除该层级,导致核心文件嵌套过深,VSCode无法读取。

正确的手动安装步骤

针对VSCode新版(commit-id cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba),手动安装需按以下步骤执行:

  1. 确认本地VSCode的commit-id:在本地VSCode按Ctrl+Shift+P打开命令面板,输入About Visual Studio Code,复制Commit对应的字符串(即cd4ee3b1...)。
  2. 在服务器创建目标目录:
    mkdir -p ~/.vscode-server/bin/<commit-id>
    
    将<commit-id>替换为实际的commit字符串。
  3. 下载对应版本的安装包:
    wget -c https://update.code.visualstudio.com/commit:<commit-id>/server-linux-x64/stable -O vscode-server.tar.gz
    
  4. 正确解压到目标路径:使用--strip-components=1参数去除压缩包内部的层级目录,直接将核心文件解压到目标目录:
    tar -xzf vscode-server.tar.gz --strip-components=1 -C ~/.vscode-server/bin/<commit-id>
    
  5. 创建必要的标记文件:
    • 在~/.vscode-server目录下创建lockfile,写入commit-id:
      echo "<commit-id>" > ~/.vscode-server/lockfile
      
    • 在目标bin目录下创建空文件0:
      touch ~/.vscode-server/bin/<commit-id>/0
      
  6. 验证目录结构:确保~/.vscode-server/bin/<commit-id>下直接包含bin、extensions、code等核心文件,层级与Docker自动安装的结构一致。
  7. 重启VSCode连接:关闭本地VSCode后重新打开,通过Remote SSH连接服务器,VSCode会识别到已安装的vscode-server,无需重复安装。

内容的提问来源于stack exchange,提问作者ltu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 03:58:09