我刚刚在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 .
问题已解决
在 Windows 上打开 VS Code
打开扩展,然后搜索 WSL
它应该提示要重新加载扩展 - 继续并重新加载它
这应该会强制进行另一次代码升级,这次应该会启动。
我通过以管理员模式打开Windows Powershell并输入以下命令解决了这个问题:
wsl --update
然后我输入了这个命令来强制重启 WSL,所有问题都解决了。
wsl --shutdown
export PATH=$PATH:"/mnt/c/Users/%USERNAME%/AppData/Local/Programs/Microsoft VS Code/bin"
code .
,但当我切换到我的用户名时,它就无法工作了。我猜是WSL路径问题。我对Linux不是很熟悉,下面的图片可能更容易让您理解我在说什么。
当我在wsl上使用echo $PATH
来比较root和我的账户时,我注意到VS Code目录只能在root中找到,而不能在我的账户中找到。export PATH=$PATH:"/mnt/c/Users/ricso/AppData/Local/Programs/Microsoft VS Code/bin"
将VS Code路径添加到我的账户中,并且一旦我导出它,code .
就可以工作了。code .
,因此我们需要将其放入bashrc中。echo "PATH=$PATH:/mnt/c/Users/ricso/AppData/Local/Programs/Microsoft\ VS\ Code/bin" >> ~/.bashrc
并重新启动wsl以登录我的账户时,我注意到在运行code .
时会弹出错误消息:
cannot create /tmp/remote-wsl-loc.txt: Permission denied
我发现了这个。 https://github.com/microsoft/vscode-remote-release/issues/5389
看起来他们目前只提供了解决方法,希望能尽快修复。
*免责声明:此代码需要在您的帐户下运行,而不是根账户下运行
**对于编辑bashrc,您可以使用code ~/.bashrc
更新/编辑,当您在WSL上有vscode访问权限时,而不是使用echo和>>写入文件。
export PATH=$PATH:"/mnt/c/Users/%USERNAME%/AppData/Local/Programs/Microsoft VS Code/bin"
尝试以下5个简单步骤:
wsl --shutdown
wsl ~ -u MyUser
code .
或指定整个路径code ./myapps/hello-world-app
wsl --shutdown
然后
wsl --restart
我在新电脑上设置WSL和vscode后遇到了这个问题。
对我有效的解决方案是退出Windows。重新登录后,PATH环境变量似乎正确,并且从WSL启动vscode的工作正常。
对我来说,问题出在WSL使用了错误的容器:
wsl --list -v
NAME STATE VERSION
* docker-desktop-data Stopped 2
Ubuntu Running 2
我执行了 wsl -s ubuntu
wsl --list -v
NAME STATE VERSION
* Ubuntu Running 2
docker-desktop-data Stopped 2
它解决了问题