Sublime Text 需通过外部构建系统调用 swift 命令运行 Swift 代码;必须先确认本地已安装 Swift 并正确配置 PATH,推荐在 shell_cmd 中使用 which swift 返回的绝对路径以避免环境变量问题。

Sublime Text 本身不支持直接运行 Swift,必须通过外部构建系统调用 swiftc 或 swift 命令;没装 Swift 工具链或路径不对,配置再全也跑不起来。
确认本地已安装 Swift 并能命令行调用
这是最常卡住的一步:很多人以为装了 Xcode 就等于有 Swift,其实 macOS 上 Xcode 自带的 Swift 默认不加入 $PATH,Sublime 找不到。
- 终端执行
which swift,必须返回类似/usr/bin/swift或/opt/homebrew/bin/swift的路径;如果报 command not found,先解决这个 - 若只装了 Xcode,运行
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer再试 - M1/M2 Mac 用 Homebrew 安装的 Swift(如
brew install swift),需确保brew --prefix对应的 bin 在$PATH中
在 Sublime 创建正确的 Build System
Sublime 运行 Swift 靠的是 .sublime-build 文件,它本质是调用 shell 命令编译并执行。不能用默认的 Python 构建规则套用。
- 菜单栏 → Tools → Build System → New Build System…,粘贴以下内容(注意
shell_cmd要匹配你本地swift实际路径):
{
"shell_cmd": "swift build -c debug && .build/debug/${file_base_name}",
"file_regex": "^(...*?):([0-9]+):([0-9]+): (?:error|warning): (.*)$",
"working_dir": "${file_path}",
"selector": "source.swift",
"variants": [
{
"name": "Run",
"shell_cmd": "swift run"
}
]
}
- 保存为
Swift.sublime-build(路径通常是~/Library/Application Support/Sublime Text/Packages/User/) - 如果只是单文件脚本(无 Package.swift),用更简单的命令:
swift ${file};但注意这种模式不支持import Foundation等模块(会报错error: no such module 'Foundation') - macOS 上 Foundation 模块依赖 SDK,单文件运行需加参数:
swift -sdk $(xcrun --show-sdk-path) ${file}
为什么改了 Build System 还是报错“command not found”
Sublime 的构建系统默认不读取你的 shell 配置(比如 ~/.zshrc),所以即使终端里 swift 能用,Sublime 里可能找不到。
- 最稳解法:在
shell_cmd中写绝对路径,比如/usr/bin/swift ${file}(用which swift输出的结果) - Mac 下也可让 Sublime 继承登录 shell 环境:启动 Sublime 时用终端命令
open -a "Sublime Text",而不是直接双击图标(GUI 应用默认没有 shell 环境变量) - 检查 Sublime 控制台(
Ctrl+`)是否有类似sh: swift: command not found,这是最直接的线索
真正麻烦的不是配构建系统,而是 Swift 的执行环境依赖太重——Foundation、SDK 路径、toolchain 版本,哪怕只差一个 -sdk 参数,就可能从 “Hello World” 直接跳到 “no such module”。别信一键配置包,先让 swift --version 和 swiftc --version 在终端和 Sublime 里输出一致再说。










