WSL vscode 命令返回错误“未找到”

Jér*_*RGA 18 visual-studio-code windows-subsystem-for-linux

每当我尝试输入时都会收到此消息code .

屏幕截图包含可能在 Windows 上运行的基于 Unix 的 WSL 2 终端获得的输出。 为了便于访问,问题的其余部分准确引用了输出文本。

/mnt/c/Users/jerom/.vscode/extensions/ms-vscode-remote.remote-wsl-0.63.13/scripts/wslCode.sh: 69: /home/jerome/.vscode-server-server/bin/f80445acd5a3dadef24aa209168452a3d97cc326/bin/code: not found
Run Code Online (Sandbox Code Playgroud)

有人能帮助我吗?

提前致谢

小智 30

我刚刚在 WSL2 Kali 上遇到了同样的问题。我尝试了这里给出的所有内容: https: //github.com/microsoft/vscode-remote-release/issues/2962

我的问题是 VS Code 不在 Kali 的路径上。这是我修复它的方法:)

echo $PATH
# Confirm PATH is missing this: 
/mnt/c/Users/wcd/AppData/Local/Programs/Microsoft VS Code/bin/

# Confirm VS Code's location then export:
export PATH=$PATH:"/mnt/c/Users/wcd/AppData/Local/Programs/Microsoft VS Code/bin/" 
# It's temporarily added to path...
echo $PATH
# This should now trigger VS Code Server install,
# then open ~/ in VS Code. 
code .

# If above works, make it permanent:
echo 'export PATH=$PATH:"/mnt/c/Users/wcd/AppData/Local/Programs/Microsoft VS Code/bin/"' >> ~/.bashrc

# Restart shell + test
exec "$SHELL"
code .
Run Code Online (Sandbox Code Playgroud)


Jér*_*RGA 21

修复

  • 在 Windows 上打开 VS Code

  • 打开 Extensions,然后搜索 WSL

它应该说扩展需要重新加载 - 继续并重新加载它

  • 打开 WSL 并键入代码

这应该会强制再次升级代码,这次应该会启动。

  • 确保关闭终端并在重试之前再次重新打开 (2认同)

小智 12

我通过在管理模式下打开 Windows powershell 并输入以下命令解决了这个问题:

wsl --update
Run Code Online (Sandbox Code Playgroud)

然后我输入此命令强制重新启动 WSL,一切都完成了

wsl --shutdown
Run Code Online (Sandbox Code Playgroud)


小智 9

如果您在 WSL 上禁用 Windows PATH,也会发生这种情况。我的 VS Code 工作正常,然后当我禁用 Windows PATH(通过编辑/创建文件/etc/wsl.conf并插入[interop] appendWindowsPath = false参数)时code,命令停止工作。

ek1n8 解决方案解决了我的问题,将导出手动添加到 WSL 路径:

export PATH=$PATH:"/mnt/c/Users/%USERNAME%/AppData/Local/Programs/Microsoft VS Code/bin" 
Run Code Online (Sandbox Code Playgroud)


Ric*_*Goo 5

当我尝试导出旧的 wsl 并使用新发行版将整个项目移动到 nvme ssd 时,我遇到了同样的问题。

我可以code .root上运行,但是当我切换到我的名字时它不起作用,我猜是 WSL PATH 问题。

我对linux不太熟悉,下面的图片可能会让你更容易理解我在说什么。

在此输入图像描述

当我echo $PATH在 wsl 上使用来比较 root 和我的帐户时,我注意到 VS code 目录仅在 root 而不是我的帐户上找到。

因此,我使用export PATH=$PATH:"/mnt/c/Users/ricso/AppData/Local/Programs/Microsoft VS Code/bin"将 VS Code 路径添加到我的帐户*,并且code .在导出后即可工作。

但是code .如果重新启动wsl,将无法再次运行,因此我们需要将其放入bashrc中。

但是,当我尝试使用更新我的帐户的* PATH echo "PATH=$PATH:/mnt/c/Users/ricso/AppData/Local/Programs/Microsoft\ VS\ Code/bin" >> ~/.bashrc并重新启动 wsl 来登录我的帐户时,我在运行时注意到错误消息弹出窗口code .

无法创建/tmp/remote-wsl-loc.txt:权限被拒绝

我发现了这个。 https://github.com/microsoft/vscode-remote-release/issues/5389

看来他们现在只提供解决方法,希望能尽快修复。

*上面的免责声明:此代码需要在您的帐户而不是 root 下运行

code ~/.bashrc**为了编辑 bashrc,当您在 wsl 上具有 vscode 访问权限时,您还可以使用更新/编辑,而不是使用 echo 和 >> 写入文件。