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

Вступление

Swift - язык программирования от Apple. Это быстро, безопасно и современно, и у него есть огромное сообщество, поддерживающее язык. Swift используется в основном для разработки приложений для iOS и macOS, но, начиная с Swift 3, вы можете использовать его и для разработки приложений на стороне сервера.

Vapor - это популярный серверный веб-фреймворк Swift. Как и Swift, Vapor быстр и современен, и он поддерживает многие функции, которые вы увидите в веб-фреймворках для других языков программирования.

В этом руководстве вы установите Swift and Vapor на Ubuntu 16.04. Затем вы протестируете свои настройки, создав простое веб-приложение с использованием одного из шаблонов Vapor.

Предпосылки

Чтобы следовать этому уроку, вам понадобится:

  • Один сервер Ubuntu 16.04 с пользователем без полномочий root с доступом к + sudo +. Вы можете узнать, как это настроить, с помощью нашего https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04 руководства по настройке начального сервера].

  • Git установлен на вашем сервере. Git уже должен быть установлен в Ubuntu 16.04, но если это не так, запустите + sudo apt-get install git +.

Шаг 1 - Установка Swift

Чтобы иметь возможность создавать и запускать веб-приложения Vapor, сначала необходимо установить Swift.

Во-первых, убедитесь, что у вас есть последний список пакетов в вашей системе:

sudo apt-get update

Затем установите необходимые компоненты Swift, которые включают + clang + и некоторые компоненты Python 2.7:

sudo apt-get install clang libicu-dev libpython2.7

После этого загрузите последний бинарный файл Swift. Это недоступно через + apt +, но вы можете загрузить его вручную со страницы загрузок Swift или с помощью + wget +:

wget https://swift.org/builds/swift-4.0-release/ubuntu1604/swift-

Затем убедитесь, что ваша загрузка не была повреждена или подделана. Импортируйте ключи Swift PGP в вашу связку ключей, которая будет использоваться для проверки файла подписи:

gpg --keyserver hkp://pool.sks-keyservers.net \
     --recv-keys \
     '7463 A81A 4B2E EA1B 551F  FBCF D441 C977 412B 37AD' \
     '1BE1 E29A 084C B305 F397  D62A 9F59 7F4D 21A5 6D5F' \
     'A3BA FD35 56A5 9079 C068  94BD 63BC 1CFE 91D3 06C6' \
     '5E4D F843 FB06 5D7F 7E24  FBA2 EF54 30F0 71E1 B235'

Вы увидите этот вывод:

Output[...
gpg: key 412B37AD: public key "Swift Automatic Signing Key #1 <[email protected]>" imported
gpg: key 21A56D5F: public key "Swift 2.2 Release Signing Key <[email protected]>" imported
gpg: key 91D306C6: public key "Swift 3.x Release Signing Key <[email protected]>" imported
gpg: key 71E1B235: public key "Swift 4.x Release Signing Key <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 4
gpg:               imported: 4  (RSA: 4)

После импорта ключей загрузите файл подписи для загруженного выпуска:

wget https://swift.org/builds/swift-4.0-release/ubuntu1604/swift-4.0-RELEASE/swift-4.0-RELEASE-ubuntu16.04.tar.gz.sig

Чтобы проверить этот файл подписи, выполните следующую команду, которая генерирует следующий вывод:

gpg --verify swift-4.0-RELEASE-ubuntu16.04.tar.gz.sig

Вы увидите этот вывод:

Outputgpg: assuming signed data in `swift-4.0-RELEASE-ubuntu16.04.tar.gz'
gpg: Signature made Wed 20 Sep 2017 01:13:38 AM UTC using RSA key ID 71E1B235
gpg: Good signature from "Swift 4.x Release Signing Key <[email protected]>"
Primary key fingerprint: 5E4D F843 FB06 5D7F 7E24  FBA2 EF54 30F0 71E1 B235

Вы можете увидеть предупреждение, которое выглядит следующим образом:

Outputgpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.

Это означает, что ключи Swift, которые вы импортировали, еще не являются доверенными, ни явно вами, ни другими ключами, которые вы установили в вашем наборе ключей. Вы можете спокойно игнорировать эти сообщения. Однако, если вы получили другую ошибку, вам следует повторно загрузить бинарный файл Swift.

Теперь мы можем установить Swift. Выполните следующую команду, чтобы извлечь загруженный ранее бинарный файл:

tar xzf swift-4.0-RELEASE-ubuntu16.04.tar.gz

Затем добавьте цепочку инструментов Swift к своему пути, чтобы вы могли запустить команду + swift + для всей системы:

export PATH=swift-4.0-RELEASE-ubuntu16.04/usr/bin:"${PATH}"

Ввод этой команды только добавит команду + swift + к вашему пути для текущего сеанса оболочки. Чтобы убедиться, что он будет добавлен автоматически в будущих сеансах, добавьте его в файл + .bashrc +.

Откройте файл + .bashrc +:

nano ~/.bashrc

Добавьте следующую строку в конец файла

~ / .Bashrc

. . .
export PATH=swift-4.0-RELEASE-ubuntu16.04/usr/bin:"${PATH}"

Сохраните и выйдите из файла.

Чтобы убедиться, что все работает, выполните команду + swift +:

swift

Вас приветствует Swift REPL, который показывает, что все работает правильно.

OutputWelcome to Swift version 4.0 (swift-4.0-RELEASE). Type :help for assistance.
 1>

Давайте дважды проверим, что все работает правильно. Введите эту программу, которая суммирует все целые числа от 1 до 5. Введите каждую строку в REPL, нажимая клавишу + ENTER + после каждой строки:

var x = 0
for i in 1...5 {
   x += i
}
x

В REPL отобразится результат расчета:

Output$R0: Int = 15

Выйдите из Swift REPL с помощью + CTRL + D +. Теперь, когда Swift установлен, мы готовы установить Vapor.

Шаг 2 - Установка Vapor

Чтобы установить Vapor, вы скачаете и выполните сценарий от разработчиков Vapor, который добавляет официальный репозиторий пакетов Vapor в список пакетов вашего сервера. Затем вы будете использовать + apt + для установки последней версии Vapor.

Как правило, не рекомендуется выполнять скрипты, которые вы загружаете от других, без предварительной проверки. Сначала загрузите скрипт установки на свой сервер, используя команду + curl + с ключом + -o +, чтобы указать локальное имя файла:

curl -sL apt.vapor.sh -o

Используйте команду + less + для проверки этого скрипта:

less

После того, как вы проверили содержимое установочного скрипта, запустите скрипт, чтобы добавить репозиторий:

bash ./

Вам будет предложено ввести пароль sudo. Введите его, чтобы скрипт мог добавить новые источники пакетов.

Как только скрипт завершится, вы можете установить пакет + steam + и его зависимости.

sudo apt-get install vapor

Вы можете убедиться, что Vapor был успешно установлен, используя другой скрипт, предоставленный разработчиками Vapor. Еще раз, загрузите сценарий, проверьте его, а затем выполните его:

curl -sL check.vapor.sh -o check.vapor.sh
less check.vapor.sh
bash ./check.vapor.sh

Вы увидите этот вывод, который указывает, что Vapor был успешно установлен:

Output✅ Compatible with Vapor 2

Теперь, когда Swift и Vapor установлены, вы можете создать свое первое приложение Vapor.

Шаг 3 - Создание приложения Vapor

Для создания нашего приложения мы будем использовать шаблон, который Vapor предоставляет по умолчанию. Шаблон + web + позволяет вам создавать пользовательское веб-приложение.

Чтобы создать веб-приложение из этого шаблона, выполните следующую команду:

vapor new  --template=

Сценарий создает новое приложение в новом каталоге с указанным вами именем:

OutputCloning Template [Done]
Updating Package Name [Done]
Initializing git repository [Done]
...
              _       __    ___   ___   ___
             \ \  /  / /\  | |_) / / \ | |_)
              \_\/  /_/--\ |_|   \_\_/ |_| \
                a web framework for Swift

             Project "demo" has been created.
      Type `cd demo` to enter the project directory.
  Use `vapor cloud deploy` to host your project for free!
                          Enjoy!

Если вы хотите создать API вместо полноценного веб-приложения, вы можете использовать шаблон + api + с + steam new --template = +.

Посмотрите source code для веб-шаблона и api шаблон, чтобы увидеть, как они работают ,

Давайте запустим наше приложение и увидим его в действии.

Шаг 4 - Скомпилируйте и запустите приложение Vapor

Приложения Swift должны быть скомпилированы, в отличие от приложений на Python или Ruby. Это означает, что прежде чем вы сможете запустить ваше приложение Vapor, вы должны запустить процесс сборки.

Сначала переключитесь на вновь созданную папку + demo +:

cd demo

Затем выполните команду +apor build +, чтобы скомпилировать веб-приложение.

vapor build

При первом создании приложения процесс извлечет некоторые зависимости. Он будет кешировать их и пропустить этот шаг в будущем, что значительно ускорит процесс сборки.

После завершения процесса сборки запустите приложение с помощью следующей команды:

vapor run serve

Сервер запустится, отобразив этот вывод:

OutputRunning demo ...
...
Starting server on 0.0.0.0:8080

Вы увидите предупреждения о небезопасных хэш-ключах и ключах шифрования, но вы можете игнорировать их, пока вы пробуете демоверсию. Когда вы создаете свое собственное приложение, следуйте инструкциям, приведенным в предупреждениях.

Откройте веб-браузер и посетите + http: //: 8080 +, чтобы увидеть страницу приветствия вашего рабочего приложения Vapor.

Заключение

Сообщество Swift неуклонно растет, и есть много способов принять участие. Хотя Swift в основном используется для создания собственных приложений для iOS и MacOS, Swift на платформе Linux находится на подъеме. Вы можете узнать больше о Swift, прочитав бесплатную электронную книгу The Swift Programming Language. Яблоко. Чтобы узнать больше о Vapor, ознакомьтесь с их documentation.

Related