VS Code如何正确连接远程容器以在内部正常运行yarn命令
问题原因与解决方案
根本原因
该报错由VS Code自带的JS调试插件ms-vscode.js-debug的自动注入逻辑导致:当你在VS Code远程容器内置终端运行Node.js相关命令时,插件会自动在NODE_OPTIONS环境变量中追加预加载规则,要求加载对应路径下的bootloader.js用于调试绑定。如果容器内的vscode-server初始化不完整、缓存数据丢失或插件同步异常,就会出现找不到该文件的报错。
你直接通过docker命令连接容器时,不会注入该环境变量,所以运行yarn dev完全正常。
可用解决方案
临时解决(单次生效)
在当前VS Code终端内先执行命令清除NODE_OPTIONS变量,再运行项目命令即可:
unset NODE_OPTIONS yarn dev
永久关闭自动注入(不需要调试功能时推荐)
修改VS Code配置禁用JS调试的自动附着逻辑:
- 按下
Ctrl+Shift+P(Mac系统为Command+Shift+P)调出命令面板,输入「首选项:打开设置(UI)」 - 搜索
Debug > Javascript: Auto Attach,将下拉选项设置为Disabled - 重启VS Code终端后生效,后续运行Node命令不会再注入调试预加载脚本
保留调试能力的修复方案
如果需要用到VS Code的Node调试功能,不需要关闭自动附着,遇到报错时执行以下操作即可:
- 按下
Ctrl+Shift+P调出命令面板,选择「开发者:重新加载窗口」 - 等待VS Code重新连接容器、vscode-server初始化完成后,再运行
yarn dev即可正常执行
内容的提问来源于stack exchange,提问作者Migsar Navarro
相关产品推荐
相关产品推荐

