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

WSL2环境Ubuntu升级后VSCode无法加载 正常运行1年出现报错

问题背景
  • 运行环境:Windows 11 + WSL2(Ubuntu 20.04),使用VSCode开展开发工作1年以上
  • 异常触发逻辑:此前定期执行apt update、apt upgrade均无异常,某次执行apt upgrade后无法从WSL环境正常启动VSCode
  • 复现确认:回滚WSL至1个月前的可正常运行备份后,再次执行apt update与apt upgrade,会完全复现相同报错
报错详情

执行启动VSCode相关操作时抛出Node模块找不到错误,核心报错信息如下:

node:internal/modules/cjs/loader:990
throw err;
^

Error: Cannot find module '\wsl.localhost\Ubuntu-20.04\mnt\c\Users\JimD\AppData\Local\Programs\Microsoft VS Code\Code.exe'
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:987:15)
at Module._load (node:internal/modules/cjs/loader:832:27)
at Function.c._load (node:electron/js2c/asar_bundle:5:13343)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}

注:你怀疑的路径前缀异常判断正确,/mnt/c/本身是WSL挂载的Windows C盘路径,额外拼接\wsl.localhost\Ubuntu-20.04前缀后路径完全非法,是触发报错的直接原因。

问题根因

本次异常是Ubuntu 20.04源中近期推送的wslu(WSL配套工具集,负责WSL与Windows侧的程序互调、路径解析逻辑)版本存在路径拼接bug:更新后的版本错误地给Windows挂载盘路径(/mnt/c/开头的路径)前面拼接了WSL自身的UNC网络路径前缀,导致调用Windows侧VSCode时路径解析失败。

修复步骤
  • 回滚到无bug的wslu版本,执行以下命令:
    sudo apt install --reinstall wslu=3.2.2-0ubuntu1~20.04.1
    
    执行完成后直接在WSL终端输入code .验证,即可正常启动VSCode。
  • 锁定wslu包版本,避免后续执行apt upgrade时再次安装带bug的版本:
    sudo apt-mark hold wslu
    
  • 后续等Ubuntu官方源推送修复了路径bug的wslu版本后,执行sudo apt-mark unhold wslu即可解除版本锁定,恢复正常包更新流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:21:28