如何在Linux系统上安装Swift编程语言详细步骤教程
在 Linux 系统中安装 Swift 并非像 apt install swift 那样简单。你需要手动下载官方工具链,并正确配置两个关键环境变量——尤其是 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 链接,许多已失效(404)。正确做法是前往 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 上能否顺利运行。谨慎对待,总是值得的。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
麒麟系统字体太小看不清如何调整界面字体大小
麒麟系统高分屏字体过小需分层干预:控制中心调整缩放至150%或200%,辅助功能增大文本,命令行设置MateDPI值(2K设200 0,4K设220 0),QT类软件用环境变量QT_DEVICE_PIXEL_RATIO=2,终端取消使用系统等宽字体并改字号,输入法候选字体调至16或18。
Win11记事本默认不换行如何设置为自动换行
Windows11记事本默认不自动换行,手动开启仅对当前窗口有效。若要永久启用,可修改注册表,在HKCU Software Microsoft Notepad路径下新建DWORD值fWrap并设为1,或导入含此设置的 reg文件,此后所有新建记事本文件均自动换行显示,无需重复手动操作,一劳永逸。
银河麒麟系统时间快几分钟的调整方法
银河麒麟系统时钟快几分钟的解决方法:先用date命令校正系统时间,再执行hwclock--systohc写入硬件时钟;启用systemd-timesyncd并配置阿里云NTP服务器;禁用chronyd避免服务冲突;双系统用户需设置硬件时钟为UTC模式。
Win11多屏下设置软件只在特定屏幕打开的方法
双屏办公时,通过快捷方式添加启动参数、利用Windows窗口位置记忆功能或PowerShell脚本,可让软件自动在副屏打开,免去手动拖拽,提升工作效率。
MacBook如何取消菜单栏蓝牙搜索状态
在macOS中,进入系统设置“控制中心”,将蓝牙设为“不显示在菜单栏”即可隐藏图标且功能正常;旧版系统则在蓝牙偏好设置中取消勾选“在菜单栏中显示”。
- 日榜
- 周榜
- 月榜
相关攻略
2026-07-01 07:42
2026-07-01 07:42
2026-07-01 07:41
2026-07-01 07:41
2026-07-01 07:41
2026-07-01 07:41
2026-07-01 07:41
2026-07-01 07:41
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

