Linux下安装Swift编程语言教程

作者:技术拾光

时间:2026-07-18

浏览:590

在Linux上安装Swift需手动下载官方工具链并放置于/opt/swift,配置PATH和LD_LIBRARY_PATH指向bin和lib目录,否则swiftbuild会因库缺失而失败。系统需为Ubuntu/Debian,注意CPU架构与glibc版本需不低于2.28。解压后设置环境变量至~/.bashrc并执行source命令使其生效,VSCode调试前

文章目录

Swift 在 Linux 上的安装,需要手动下载官方工具链并配置两个关键环境变量,尤其是 LD_LIBRARY_PATH,否则即使 swift --version 能正常输出版本号,实际运行项目时 swift build 也会失败。这一机制源于 Swift 运行时对动态库的底层依赖,并非偶然现象。

结论先行:即便终端中 swift --version 显示正常,只要 LD_LIBRARY_PATH 未正确配置,swift build 必然失败。这个常见问题看似意外,实则完全可以预期。

下载前确认系统兼容性

Swift 官方仅面向 Ubuntu/Debian 系提供预编译包,CentOS 或 RHEL 用户无法直接安装。目前(2026 年中),推荐使用稳定版 swift-5.9-RELEASE 或尝鲜版 swift-6.0-SNAPSHOT-2026-04-15-a。

下载前需注意以下细节:

  • 使用 uname -m 确认 CPU 架构。x86_64 机器选择 ubuntu22.04 或 ubuntu24.04 的包;ARM 架构服务器或树莓派则必须选择名称包含 aarch64 的版本。
  • 运行 ldd --version 查看 glibc 版本。Ubuntu 22.04 及更新系统基本可直接运行;若仍在使用 Ubuntu 18.04 或更老系统,建议降级至 swift-5.7,否则解压后执行 swift 可能报错“No such file or directory”——实际是动态库链接失败,而非文件缺失。
  • 避免直接复制旧教程中的 wget 链接,许多链接已失效。正确做法是前往 Swift 官网 Linux 栏目,找到对应系统和版本的最新 Release 或 Snapshot 链接,手动复制。

解压后配置两条环境变量

swift 命令本身是一个外壳,核心动态库 libswiftCore.so、libsourcekitd.so 等位于 usr/lib/swift/linux/ 目录下。Linux 动态链接器默认不扫描该路径,仅设置 PATH 相当于只拿到遥控器而缺少电池。

正确操作流程如下:

  • 解压到用户目录,例如 tar xzf swift-5.9-RELEASE-ubuntu22.04.tar.gz -C ~/,得到 ~/swift-5.9-RELEASE-ubuntu22.04/。
  • 编辑 ~/.bashrc,在末尾添加两行(路径需改为实际路径):
    export PATH=$HOME/swift-5.9-RELEASE-ubuntu22.04/usr/bin:$PATH
    export LD_LIBRARY_PATH=$HOME/swift-5.9-RELEASE-ubuntu22.04/usr/lib/swift/linux:$LD_LIBRARY_PATH
  • 执行 source ~/.bashrc 使配置生效。若使用 VSCode,请务必完全重启窗口,因为集成终端不会自动继承新环境变量。
  • 注意一个易被忽略的干扰项:若之前通过 Snap 安装过 Swift(例如从 Ubuntu 软件中心安装),需先运行 sudo snap remove swift。Snap 的沙盒机制会屏蔽手动设置的 LD_LIBRARY_PATH,导致配置无效。

VSCode 调试前的三重验证

安装 vonage.vscode-swift 插件后,并不能直接调试。该插件仅提供界面,核心组件 sourcekit-lsp 和 lldb 必须各自就位且版本匹配。

建议按以下顺序检查:

  • 运行 which sourcekit-lsp,输出应为 Swift 工具链路径,例如 /home/xxx/swift-5.9-RELEASE-ubuntu22.04/usr/bin/sourcekit-lsp。若输出系统路径或其他位置,说明路径未正确配置。
  • 在 VSCode 设置中显式填写 swift.path.sourceKitLSP 字段,值为上述绝对路径。自动发现功能常不可靠,手动指定最为稳定。
  • lldb 版本必须与 Swift 工具链匹配。Ubuntu 22.04+ 推荐安装 lldb-16(sudo apt install lldb-16),并在 .vscode/launch.json 中指定:"lldb.executable": "/usr/bin/lldb-16"。

整个过程中,最容易被忽视的是 LD_LIBRARY_PATH 未正确生效,或 VSCode 未重启导致 sourcekit-lsp 启动即退出。此时查看日志,往往仅显示空行或“connection closed”,无法定位具体问题。

正是这些看似平常的细节,决定了 Swift 在 Linux 上能否真正运行。谨慎处理,总能避免踩坑。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›