【问题标题】:VS Code Server for WSL closed unexpectedlyWSL 的 VS 代码服务器意外关闭
【发布时间】:2019-11-05 22:10:26
【问题描述】:

我正在尝试使用 VS 代码在 WSL(Ubuntu-18.04 发行版)系统上运行 Python 项目。我安装了 WSL - 远程插件 v0.39.9。运行命令时:

code .

收到错误:

/home/username/.vscode-server/bin/6ab598523be7a800d7f3eb4d92d7ab9a66069390/bin/code: 12: /home/用户名/.vscode-server/bin/6ab598523be7a800d7f3eb4d92d7ab9a66069390/bin/代码: /home/用户名/.vscode-server/bin/6ab598523be7a800d7f3eb4d92d7ab9a66069390/节点: 执行格式错误

当我在尝试连接到 WSL 实例的 VS Code 中运行时:

在 WSL (Ubuntu-18.04) 扩展版本中启动 VS Code Server: 0.39.9,Windows 版本:18362。多发行版支持:启用。 WSL 路径支持:为 WSL 启用的 VS Code Server 意外关闭。

这是VS Code的信息:

Version: 1.39.2 (user setup)
Commit: 6ab598523be7a800d7f3eb4d92d7ab9a66069390
Date: 2019-10-15T15:35:18.241Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18362

【问题讨论】:

  • 你使用的是稳定版的VSCode吗?您是否尝试过使用 VSCode 内部构建?你能用file 命令检查node 文件是ELF 64 二进制文件吗?它还有一个可执行标志chmod +x吗?
  • @Biswapriyo,请查看带有 VS 代码版本信息的更新。对不起,我是新手,如何找到您引用的node 文件?
  • 是的,此文件具有Owner、Group 和Everyone、-rwxr-xr-x 的可执行权限。我在bin 文件夹中看到两个文件夹:6ab598523be7a800d7f3eb4d92d7ab9a66069390 和 f06011ac164ae4dc8e753a3fe7f9549844d15e35
  • 有风险,删除文件夹/home/username/.vscode-server/。 VSCode 远程扩展会自动安装到 WSL 中。
  • @Biswapriyo 这不起作用:-(

标签: visual-studio-code windows-subsystem-for-linux


【解决方案1】:

我通过关闭wsl 然后在powershell 中重新启动它解决了这个问题。

wsl --shutdown
wsl

【讨论】:

  • 我刚刚重启了我的系统:)
  • 重启会完成同样的事情
  • 这有帮助,谢谢
  • 有人知道为什么会这样吗?当我突然想到我在笔记本电脑上切换了无线网络,但不知道这是否相关。
【解决方案2】:

问题是否在于您的 WSL 上有一个过时的 VS Code Server,并且选择了 docker(而不是 Linux 版本)作为您的默认 WSL 发行版?

解决方案:

1. 打开 PowerShell 并运行 wsl -l -v 并检查星号 * 是否表示 Ubuntu(或其他 Linux 发行版)是您的默认 WSL 发行版。

* Ubuntu-20.04           Running         2
  docker-desktop-data    Running         2
  docker-desktop         Running         2

如果没有,请在 PowerShell 中运行 wslconfig /setdefault <Your WSL Linux distro>

2. 选择正确的 WSL 发行版后,打开 VSCode,按 Ctrl+Shift+P,然后输入 Remote-WSL: New WSL Window。这将更新 WSL Linux 发行版上的 VS Code Server。

3. code . 现在应该可以在 WSL 中使用了

我在更新 VSCode 后遇到了类似的问题。当我尝试从 Ubuntu 打开 VSCode 并收到以下错误时,我认出了它:

~$ code .
Updating VS Code Server to version 507ce72a4466fbb27b715c3722558bb15afa9f48
Removing previous installation...
Installing VS Code Server for x64 (507ce72a4466fbb27b715c3722558bb15afa9f48)
Downloading: 100%
Failed
--2021-06-29 10:48:51--  https://update.code.visualstudio.com/commit:507ce72a4466fbb27b715c3722558bb15afa9f48/server-linux-x64/stable
Resolving update.code.visualstudio.com (update.code.visualstudio.com)... failed: Temporary failure in name resolution.
wget: unable to resolve host address ‘update.code.visualstudio.com’
ERROR: Failed to download https://update.code.visualstudio.com/commit:507ce72a4466fbb27b715c3722558bb15afa9f48/server-linux-x64/stable to /home/username/.vscode- server/bin/507ce72a4466fbb27b715c3722558bb15afa9f48-1624952921.tar.gz

【讨论】:

  • 这个方案效果很好,不需要关闭wsl。
  • 这是为我做的。谢谢!我有 docker 桌面,它被用作默认发行版。
【解决方案3】:

我遇到了同样的问题,结果我默认使用了docker-desktop-data。该发行版没有 shell 环境,因此您可以将默认发行版设置为 docker-desktop 并避免安装任何东西:

C:\> wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  docker-desktop         Running         2
C:\> wsl -s docker-desktop
C:\> wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2

然后,由 WSL vscode 扩展执行的命令将要求在该 wsl 中安装node,它会失败。

然后您会意识到需要做一些额外的事情,而且它不会开箱即用。您可以使用以下方式选择或安装所需的 wsl:

  • 选择“使用发行版”
  • 如果没有,请安装一个新的:

这将带你到微软商店。我建议安装您可能会发现的轻量级 Alpine 发行版。

【讨论】:

    猜你喜欢
    • 2021-01-19
    • 2021-01-23
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多