Win11启动修复后VSCode Dev Containers命令报stream is closed故障
问题:VSCode Dev Containers扩展报
stream is closed错误,系统启动修复后异常 背景
Win11重启时弹出“Boot Device Not Found”提示,系统自动修复后回滚至数日之前的状态,多款程序故障。经SFC /scannow、DISM /RestoreHealth及重装部分应用后,多数功能恢复,但VSCode的ms-vscode-remote.remote-containers扩展执行所有命令均抛出stream is closed错误,ms-azuretools.vscode-docker扩展可正常工作。
已尝试操作(每步后均重启)
- 用Revo Uninstaller和Voidtools Everything彻底卸载清理VSCode(含配置、扩展)、Kubernetes(先Factory Reset)、Rancher Desktop(先Factory Reset)、Docker Desktop及所有docker相关内容
- 卸载所有WSL发行版,清除WSL全部数据
- 卸载Windows Subsystem for Linux和Virtual Machine Platform功能,之后按逆序重新安装配置
错误信息
弹窗内容
[Window Title] Visual Studio Code [Main Instruction] Command 'Dev Containers: Open Folder in Container...' resulted in an error [Content] stream is closed [OK]
错误日志
2024-10-08 22:12:45.936 [error] Error: stream is closed at c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:30:3813 at o (c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:30:1926) at EventEmitter.MR.e.<computed> [as setBaseEnv] (c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:30:1684) at c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:99:274 at new Promise (<anonymous>) at Object.setBaseEnv (c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:99:243) at vb (c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:124:3235) at processTicksAndRejections (node:internal/process/task_queues:95:5) at st (c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:331:2237) at no (c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:387:1100) at m (c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:413:11417) at T0.h (file:///c:/Program%20Files/Code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:114:32837) remote-containers.rebuildAndReopenInContainer { "value":"ms-vscode-remote.remote-containers", "_lower":"ms-vscode-remote.remote-containers" } 2024-10-08 22:12:53.579 [error] Error: stream is closed
操作日志
[1800972 ms] Start: Run: wsl -d rancher-desktop -e /bin/sh -c cd '/mnt/d/appliedsystems/us-rating/entryform' && /bin/sh [1800978 ms] Start: Run in host: id -un [1801004 ms] root [1801004 ms] [1801005 ms] Start: Run in host: (command -v getent >/dev/null 2>&1 && getent passwd 'root' || grep -E '^root|^[^:]*:[^:]*:root:' /etc/passwd || true) [1801059 ms] Start: Run in host: echo ~ [1801060 ms] /root [1801060 ms] [1801060 ms] Start: Run in host: test -f '/root/.vscode-server/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node' [1801060 ms] [1801061 ms] Exit code 1 [1801061 ms] Start: Run in host: test -f '/root/.vscode/cli/servers/Stable-e10f2369d0d9614a452462f2e01cdc4aa9486296/server/node' [1801061 ms] [1801062 ms] Exit code 1 [1801062 ms] Start: Run in host: test -f '/root/.vscode-server/bin/e10f2369d0d9614a452462f2e01cdc4aa9486296/node' [1801062 ms] [1801062 ms] [1801063 ms] Exit code 1 [1801063 ms] Start: Run in host: test -f '/root/.vscode-remote-containers/bin/e10f2369d0d9614a452462f2e01cdc4aa9486296/node' [1801063 ms] [1801064 ms] Start: Run in host: test -f '/root/.vscode-remote-containers/bin/e10f2369d0d9614a452462f2e01cdc4aa9486296/node_modules/node-pty/package.json' [1801064 ms] [1801064 ms] Start: Run in host: test -f '/root/.vscode-remote-containers/dist/vscode-remote-containers-server-0.388.0.js' [1801065 ms] [1801065 ms] Host server: /bin/sh: /root/.vscode-remote-containers/bin/e10f2369d0d9614a452462f2e01cdc4aa9486296/node: not found [1801065 ms] userEnvProbe: loginInteractiveShell (default) [1801065 ms] userEnvProbe: not found in cache [1801066 ms] userEnvProbe shell: /bin/sh [1801069 ms] Error reading shell environment. [1801069 ms] Error: stream ended with:0 but wanted:9 at l (c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:27:22149) at c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:27:22330 at s (c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:30:5371) at Socket.<anonymous> (c:\Users\Derek\.vscode\extensions\ms-vscode-remote.remote-containers-0.388.0\dist\extension\extension.js:30:5541) at Socket.emit (node:events:531:35) at Socket.emit (node:domain:488:12) at endReadableNT (node:internal/streams/readable:1696:12) at processTicksAndRejections (node:internal/process/task_queues:82:21) [1801070 ms] Host server terminated (code: 127, signal: null).
解决建议
1. 修复WSL内文件缺失与用户环境
从操作日志看,Dev Containers在rancher-desktop WSL中找不到node可执行文件,且读取shell环境失败:
- 手动进入rancher-desktop WSL:执行
wsl -d rancher-desktop,检查/root/.vscode-remote-containers/bin/e10f2369d0d9614a452462f2e01cdc4aa9486296/目录,若不存在则手动创建,再重新触发Dev Containers初始化 - 切换WSL默认用户为普通用户:执行
wsl -d rancher-desktop -u your_username(替换为你在WSL中的普通用户名),再尝试打开Dev Container
2. 重置WSL相关服务与网络
系统修复可能导致WSL服务异常:
- 管理员权限打开命令提示符,执行
netsh winsock reset重置Winsock - 打开服务管理器(
services.msc),找到Windows Subsystem for Linux Service,右键重启 - 执行
wsl --shutdown,再重新启动WSL
3. 调整Dev Containers扩展配置
- 在VSCode设置中搜索
Dev Containers: User Env Probe,将值改为loginShell或none,避免自动探测用户环境时触发流错误 - 回滚Dev Containers扩展到上一个稳定版本(如0.387.0)测试
4. 检查Windows管道相关服务
系统修复可能影响命名管道功能:
- 管理员权限执行
sc config PipeActivator start= auto,再执行sc start PipeActivator启动服务 - 检查
Windows Container Service是否正常运行,未启动则手动启动
内容的提问来源于stack exchange,提问作者Derek Ziemba
相关产品推荐
相关产品推荐

