VSCode跑不了Mojo,90%是mojo.modularHomePath未正确配置,必须手动填写且路径需精确包含pkg/packages.modular.com_mojo/子目录;WSL用户须先打开对应发行版窗口再配置,否则扩展静默失效。

VSCode 跑不了 Mojo,90% 是 mojo.modularHomePath 没填对,不是扩展没装、不是 SDK 没装、也不是代码写错了。
mojo.modularHomePath 必须手动填,且路径必须精确到 pkg/packages.modular.com_mojo/
VSCode 的 Mojo 扩展不会读取终端里设的 export MODULAR_HOME=,尤其在 Remote-WSL 场景下完全无视。它只认设置项 mojo.modularHomePath,而且这个路径必须包含子目录 pkg/packages.modular.com_mojo/,否则扩展会静默跳过初始化——右上角 ▶️ 按钮直接灰掉,补全、悬停、诊断全失效。
- Linux / WSL:填
/home/yourname/.modular(注意不是~/.modular,波浪号不展开) - Windows 本地(极少用):填
C:\Users\XXX\AppData\Roaming\Modular\.modular - 填完后,立刻验证:
ls $MODULAR_HOME/pkg/packages.modular.com_mojo/bin/mojo是否存在;不存在就说明路径错或 SDK 没装全 - WSL 用户必须先按
Ctrl+Shift+P→ 输入Remote-WSL: New Window Using Distro,选你装了 Mojo 的发行版(如 Ubuntu-22.04),再进这个窗口配mojo.modularHomePath;否则你填的是 Windows 路径,VSCode 根本找不到 Linux 下的二进制
点 ▶️ 没输出?不是没运行,是终端没挂载
Mojo 扩展默认不自动唤起集成终端,只把 mojo run 命令发给后台进程。点击后无反应、PROBLEMS 面板空、也没错误提示——这几乎肯定不是代码问题,而是输出被发到了后台,没连上终端。
- 提前按
Ctrl+`打开一个集成终端,再点 ▶️,输出会直接刷进这个终端 - 如果已反复点击,执行
ps aux | grep mojo查看是否堆积多个mojo run进程;别让它一直跑着占资源 - 想每次运行都新开终端?目前没原生开关,可临时建
.vscode/tasks.json,定义 shell 类型任务:"command": "mojo run ${file}"
F5 调试失败:“Failed to launch LLDB”?检查 lldb-mi 权限和路径
Mojo SDK 自带 lldb-mi(Linux/WSL)或 lldb-mi.exe(Windows),但它不会注册进 PATH,也不保证有执行权限。F5 报错“Cannot find lldb-mi”或“Failed to launch LLDB”,基本就是这个环节断了。
- 进
$MODULAR_HOME/pkg/packages.modular.com_mojo/bin/,确认lldb-mi文件存在 - Linux/WSL 下必须执行
chmod +x lldb-mi,否则 VSCode 无法调用 - 仍失败?在
.vscode/launch.json中显式指定"miDebuggerPath",值为lldb-mi的绝对路径,例如:"/home/yourname/.modular/pkg/packages.modular.com_mojo/bin/lldb-mi" - WSL2 用户注意:需已安装 Windows Subsystem for Linux Update,旧内核(如 5.10.x)可能不兼容 LLDB-MI 协议
用 code-runner 插件运行 Mojo?得改 code-runner.executorMap
如果你习惯用 code-runner(Ctrl+Alt+N),它默认支持 mojo run,但前提是系统 PATH 里能搜到 mojo 命令——而 Mojo SDK 默认不加 PATH。直接运行会报 command not found: mojo。
- 要么把 Mojo 的 bin 目录加进系统 PATH(比如在
~/.bashrc里加export PATH="$MODULAR_HOME/pkg/packages.modular.com_mojo/bin:$PATH"),然后重启 VSCode - 要么在 VSCode 设置里修改
code-runner.executorMap,显式写绝对路径:"mojo": "/home/yourname/.modular/pkg/packages.modular.com_mojo/bin/mojo run $fileName" - 注意变量名:
$fileName是带扩展名的,Mojo 文件必须是.mojo或.?,否则 code-runner 不会触发对应执行器
Mojo 环境链路极脆:mojo.modularHomePath 少一级目录、WSL 窗口开错发行版、lldb-mi 忘 chmod、code-runner 没配绝对路径——任一环节出错,整条链就断,且多数时候不报错,只静默失效。别依赖“自动发现”,每个路径、每个权限、每个上下文,都得亲手敲进去、亲手验证一遍。



















