WSL中VS Code因文件缺失无法启动,求原因与解决办法
问题与解决:WSL2中VS Code远程服务启动失败
问题现象
- 首次启动报错:
/home/bbrk24/.vscode-server/bin/89de5a8d4d6205e5b11647eb6a74844ca23d2573/node: not found
- 手动放入对应版本Node后,出现新错误:
node:internal/modules/cjs/loader:1051 throw err; ^ Error: Cannot find module '../package.json' Require stack: - /home/bbrk24/.vscode-server/bin/89de5a8d4d6205e5b11647eb6a74844ca23d2573/out/server-cli.js at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15) at Module._load (node:internal/modules/cjs/loader:901:27) at Module.require (node:internal/modules/cjs/loader:1115:19) at require (node:internal/modules/helpers:130:18) at out-build/bootstrap-amd.js (/home/bbrk24/.vscode-server/bin/89de5a8d4d6205e5b11647eb6a74844ca23d2573/out/server-cli.js:4:11078) at /home/bbrk24/.vscode-server/bin/89de5a8d4d6205e5b11647eb6a74844ca23d2573/out/server-cli.js:1:132 at Object.<anonymous> (/home/bbrk24/.vscode-server/bin/89de5a8d4d6205e5b11647eb6a74844ca23d2573/out/server-cli.js:4:12186) at Module._compile (node:internal/modules/cjs/loader:1241:14) at Module._extensions..js (node:internal/modules/cjs/loader:1295:10) at Module.load (node:internal/modules/cjs/loader:1091:32) { code: 'MODULE_NOT_FOUND', requireStack: [ '/home/bbrk24/.vscode-server/bin/89de5a8d4d6205e5b11647eb6a74844ca23d2573/out/server-cli.js' ] } Node.js v20.9.0
环境:Windows 11 Home 23H2 + WSL2 Ubuntu 22.04.3,VS Code 1.90.0(无可用更新)
问题原因
VS Code远程服务(vscode-server)在WSL中的文件损坏,大概率是异常退出、磁盘IO错误或跨系统文件同步问题导致自带的node可执行文件丢失。后续手动放入独立Node无法匹配服务依赖的完整环境——vscode-server自带的Node是和服务代码绑定定制的,并非通用版本,因此会触发package.json找不到的错误。
解决步骤
- 清理损坏的vscode-server实例:在WSL终端执行命令删除对应版本的服务目录
rm -rf /home/bbrk24/.vscode-server/bin/89de5a8d4d6205e5b11647eb6a74844ca23d2573 - 重启VS Code远程连接:关闭所有VS Code窗口,重新打开并连接到WSL,此时VS Code会自动重新下载并部署完整的vscode-server环境,包括匹配版本的Node和所有依赖文件
- 可选验证:连接成功后在WSL终端执行
ls /home/bbrk24/.vscode-server/bin/89de5a8d4d6205e5b11647eb6a74844ca23d2573/,确认目录下存在node、package.json等文件,说明部署正常
内容的提问来源于stack exchange,提问作者Bbrk24
相关产品推荐
相关产品推荐

