Как установить Swift на Ubuntu

Что такое Swift?
Swift — это современный язык программирования от Apple для создания macOS и iOS приложений. Он проектировался как более безопасная и понятная альтернатива Objective-C. Ключевые свойства: статическая типизация, управление памятью через ARC, лаконичный и знакомый синтаксис.
Определение в одну строку: Swift — системный и прикладной язык с акцентом на безопасность, производительность и удобочитаемость.
Важно: Apple открыла Swift как open source, поэтому теперь язык можно запускать и на Linux (в частности на Ubuntu) — это удобно для обучения и серверных сценариев.
Поддерживаемые Ubuntu и ограничения
На момент релиза Apple публиковала снимки сборок Swift для Ubuntu 14.04 и 15.10. Эти сборки называются snapshots и предназначены для разработчиков. Для стабильных проектов предпочтительнее ждать официальных релизов или использовать контейнеры/сборки сообщества.
Примечание: для полноценной разработки macOS/iOS-приложений по‑прежнему нужны macOS и Xcode. Но для изучения языка и серверной разработки Swift на Ubuntu подходит отлично.
Быстрая пошаговая инструкция по установке
- Зайдите на страницу загрузки Swift и скачайте последний snapshot для Ubuntu.
- Распакуйте скачанный .tar в удобное место (например, ~/Downloads или /opt).
- Установите зависимости:
sudo apt-get install clang libicu-dev- Откройте файл профиля пользователя и добавьте путь к swift/bin в PATH:
gedit .profileДобавьте в конец файла две новые строки: первая должна быть пустой, вторая —
export PATH=/path/to/usr/bin:"${PATH}"где /path/to/usr/bin — это путь к каталогу usr/bin внутри распакованной папки Swift. Пример:
/home/username_here/Downloads/swift_folder_name_here/usr/binСохраните .profile и перезапустите терминал или выполните
source ~/.profile.Проверьте установку:
swift --versionЕсли команда показывает версию — Swift работает.
Как запускать Swift-код
- Запустить файл напрямую:
swift /path/to/file.swift- Открыть REPL (интерактивную оболочку):
swift- Построить исполняемый пакет (Package.swift) и получить бинарник:
- Создайте папку проекта и внутри неё папку
sources. - Поместите исходники (файлы .swift) в
sources. - В корне проекта создайте файл
Package.swiftс минимальным содержимым:
import PackageDescription
let package = Package(
name: "package_name_here_and_keep_quote_marks"
)- В рабочей директории проекта выполните:
swift buildИсполняемый файл появится в каталоге:
.build/debug/package_nameСовет: при необходимости укажите более сложную конфигурацию в Package.swift — зависимости, таргеты и т.д.
Корректный пример Package.swift для простого проекта
Ниже — пример минимального, но корректно отформатированного файла Package.swift для Swift Package Manager (SPM):
// swift-tools-version:5.0
import PackageDescription
let package = Package(
name: "MyApp",
platforms: [
.macOS(.v10_15)
],
products: [
.executable(name: "MyApp", targets: ["App"])
],
targets: [
.target(name: "App", dependencies: [])
]
)Даже если некоторые поля не поддерживаются на Linux, такой шаблон помогает следовать структуре проекта.
Альтернативные способы и когда их использовать
- Docker: запускать Swift в контейнере удобно для совместимости и воспроизводимости. Официальные и community-образа Swift часто доступны в Docker Hub. Это решает проблему несовместимости с версией системы.
- Пакеты сообщества: для новых версий Ubuntu могут появиться .deb-пакеты или snap‑пакеты от сообщества.
- Сборка из исходников: если нужен контроль над оптимизациями, можно собрать Swift с исходников, но это потребует много времени и мощной машины.
Выбор зависит от цели: быстрый старт — скачать snapshot; стабильность и CI — Docker или сборка в CI-пайплайне.
Полезные команды и «шпаргалка»
- Проверить версию:
swift --version- Запустить файл:
swift file.swift- Войти в REPL:
swift- Построить проект:
swift build- Очистить артефакты сборки:
rm -rf .build- Запустить тесты (если они есть):
swift testТипичные проблемы и способы их решения
Команда
swiftне найдена- Убедитесь, что путь к usr/bin внутри распакованной папки Swift добавлен в PATH.
- Выполните
echo $PATHи проверьте наличие вашего пути.
Ошибки при запуске из‑за отсутствия зависимостей
- Установите
clangиlibicu-dev:
- Установите
sudo apt-get install clang libicu-devНеподдерживаемая версия libc или glibc
- Решение: использовать Docker-образ со совместимой базовой системой или собрать Swift из исходников для вашей системы.
Проблемы с правами доступа при распаковке в /usr/local
- Используйте sudo для распаковки в системные каталоги или выберите домашнюю директорию.
Чек‑лист перед началом разработки
- Установлены clang и libicu-dev
- Распакована папка Swift и путь usr/bin добавлен в PATH
- [ ]
swift --versionвозвращает информацию - [ ] Создан проект с
Package.swiftи минимальной структурой - Проверено локальное исполнение и сборка
Роли и задачи (кто что делает)
- Разработчик:
- Настраивает локальный Swift, пишет код, запускает REPL и тесты.
- Системный администратор / DevOps:
- Обеспечивает согласованную среду (Docker/CI), устанавливает зависимости и следит за правами.
- Руководитель проекта:
- Решает, использовать ли Swift на сервере или только для обучения, согласует поддержку платформ.
Критерии приёмки
swift --versionвозвращает версию (не ошибка).- Проект собирается командой
swift buildбез ошибок. - Исполняемый файл запускается из
.build/debug/.
Ментальные модели при выборе способа установки
- «Локальный старт»: скачать snapshot и работать локально — быстро, но менее устойчиво к обновлениям.
- «Контейнерный подход»: Docker — надёжно и воспроизводимо для CI/CD.
- «Стабильность для продакшена»: ждать официальных релизов или использовать скрупулёзную сборку и тестирование.
Короткая методология миграции проекта на Ubuntu
- Оцените зависимости проекта (использует ли он platform‑specific API).
- Настройте CI с Docker-образом Swift для тестов.
- Перенесите код в структуру SPM (sources + Package.swift).
- Запустите
swift testи исправьте ошибки. - Подготовьте инструкции для разработчиков (README с командами).
Когда Swift на Ubuntu не подойдёт
- Если нужно собирать iOS/macOS приложения с кодовой подписью — потребуется macOS/Xcode.
- Если проект зависит от бинарных библиотек, доступных только на macOS.
Краткое резюме
Swift доступен на Ubuntu через официальные снимки. Установка включает распаковку архива, установку clang и libicu-dev и добавление пути к swift/bin в PATH. Для стабильности в CI и продакшене рекомендуется использовать Docker или сборку из исходников.
Важно: этот гайд даёт быстрый старт; для продвинутых сценариев изучите документацию Swift, SPM и Docker‑образы.
Спасибо за чтение. Напишите в комментариях, если хотите пример простого сервера на Swift или Dockerfile для запуска Swift-приложения.
Похожие материалы
Echo Show как цифровой настенный календарь
Как отключить автообновление в браузерах
Сколько места осталось в Google и как его освободить
Ускорение передачи данных USB‑флешки в Windows 10
WIN32K_CRITICAL_FAILURE: как исправить 0x164