Linux · Ubuntu · VSCode |(已解决)VSCode 服务器下载失败,下载一直卡住,无法打开文件夹

问题描述:

  • ssh 能连上 Ubuntu 20.04 的服务器,但是 VSCode 连接时,服务器一直显示在下载,一直下不好;
  • 解决 vscode 服务器下载失败问题后,希望打开 /~ 文件夹,这一步又打不开。

解决步骤概览:

  • 从本地下载 vscode 服务器,然后 scp 传到 ubuntu 机器上去。scp:参见本站博客,如何传输本地大文件至 Linux 服务器
  • 降级 Remote - SSH 插件版本。(还改了一下其他设置,但感觉以上两个改动最 work)
  • 此时,发现已经可以正常连 vscode 了,但还是打不开 /~ 文件夹。
  • 发现服务器 curl 不通 www.google.com,使用(本站博客)Python · GitHub · Linux | 使用本/机作为代·理+服-务=器 方法解决了网络问题。
  • 发现服务器没法 sudo apt update 和 sudo apt install 装包,使用 换清华源 的方法解决了这个问题。
  • 然后就可以打开 /~ 文件夹了,很神奇...

目录

  • [解决 VSCode 服务器下载失败](#解决 VSCode 服务器下载失败)
    • [方法 1:强制从本地下载(最简单)](#方法 1:强制从本地下载(最简单))
    • [方法 2:禁用 Exec Server 模式(解决插件 Bug)](#方法 2:禁用 Exec Server 模式(解决插件 Bug))
    • [方法 3:手动下载 VS Code Server(最可靠)](#方法 3:手动下载 VS Code Server(最可靠))
    • [方法 4:回退 Remote SSH 插件版本](#方法 4:回退 Remote SSH 插件版本)
  • [apt install 安装,换国内源](#apt install 安装,换国内源)

解决 VSCode 服务器下载失败

(kimi 提供的解决方案)

这是一个非常常见的问题,通常由网络问题插件 Bug 导致。以下是几种最有效的解决方法:


方法 1:强制从本地下载(最简单)

(这个方法对我的场景不 work)

VS Code 默认会尝试让远程服务器下载,如果失败才会转为本地下载。你可以强制让它始终从本地下载,然后通过 scp 传到服务器:

  1. 打开 VS Code 设置(Ctrl+,
  2. 搜索 Remote.SSH: Local Server Download
  3. 将选项改为 always

这样可以绕过远程服务器下载慢或连不上外网的问题。


方法 2:禁用 Exec Server 模式(解决插件 Bug)

(这个方法对我的场景 疑似也不 work,我不确定,因为是跟后面的改动一起做的)

如果网络没问题但仍然卡住,可能是 Remote SSH 插件的 Bug。禁用 Exec Server 模式可以强制使用旧的连接方式:

  1. 打开 VS Code 设置
  2. 搜索 remote.SSH.useExecServer
  3. 取消勾选 (设为 false

或者直接在 settings.json 中添加:

json 复制代码
"remote.SSH.useExecServer": false,
"remote.SSH.localServerDownload": "always"

然后完全关闭 VS Code 重新打开


方法 3:手动下载 VS Code Server(最可靠)

(这个对我来说 work)

如果上述方法无效,可以手动下载服务器包:

步骤 1:获取 Commit ID

在 VS Code 中按 Ctrl+Shift+P → 输入 About → 找到提交(Commit)后面的字符串,例如:

复制代码
38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40

步骤 2:手动下载服务器包

用浏览器访问(将 {commit_id} 替换为你的 Commit ID):

复制代码
https://update.code.visualstudio.com/commit:{commit_id}/server-linux-x64/stable

步骤 3:上传到服务器并解压

通过 SSH 登录远程服务器,执行:

bash 复制代码
# 删除旧的(一定要删除)
rm -rf ~/.vscode-server

# 创建目录(替换为你的 Commit ID)
mkdir -p ~/.vscode-server/bin/{commit_id}

# 将下载的 vscode-server-linux-x64.tar.gz 上传到上述目录
# 然后解压
cd ~/.vscode-server/bin/{commit_id}
tar -zxvf vscode-server-linux-x64.tar.gz --strip-components 1

# 清理
rm vscode-server-linux-x64.tar.gz

步骤 4:重新连接

关闭 VS Code 重新连接,此时会检测到已存在的服务器包,直接启动 。


方法 4:回退 Remote SSH 插件版本

(这个应该也有用,我是回退到了 0.107.1)

如果问题是升级后出现的,可以回退到稳定版本:

  1. 在扩展面板找到 Remote - SSH
  2. 点击"卸载"旁边的小箭头 → 安装另一个版本
  3. 选择 0.100.00.107.1 等较稳定版本

apt install 安装,换国内源

请参考:CSDN | Ubuntu 20.04 LTS (Focal Fossa) 更换国内源的方法

步骤 1:备份源列表

bash 复制代码
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

步骤 2:编辑源列表文件

bash 复制代码
sudo vim /etc/apt/sources.list

步骤 3:清空原内容并添加国内源

我用的是清华源:

bash 复制代码
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

现在,可以再试试 sudo apt update,应该就正常了。

相关推荐
MoonOut3 个月前
如何传输本地大文件至 Linux 服务器
配环境
MoonOut1 年前
Linux | 如何创建一个 home 目录在 /data 磁盘的 sudo 用户
配环境