如何在Ubuntu 16.04上安装Swift和Vapor

介绍

Swift是Apple的一种编程语言。 它是快速,安全和现代的,它有一个支持语言的巨大社区。 Swift主要用于开发iOS和MacOS应用程序,但从Swift 3开始,您也可以将其用于服务器端应用程序开发。

Vapor是一个流行的服务器端Swift Web框架。 像Swift一样,Vapor是快速和现代的,它支持许多在其他编程语言的Web框架中会看到的功能。

在本指南中,您将在Ubuntu 16.04上安装Swift和Vapor。 然后,您将使用Vapor的模板之一创建一个简单的Web应用程序来测试您的设置。

先决条件

要学习本教程,您将需要:

  • 一个非root用户可以访问sudo Ubuntu 16.04服务器。 您可以学习如何使用我们的初始服务器设置指南进行设置
  • 安装在你的服务器上的Git。 Git应该已经安装在Ubuntu 16.04上,但是如果没有,运行sudo apt-get install git

第1步 - 安装Swift

为了能够构建和运行Vapor Web应用程序,首先需要安装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-4.0-RELEASE/swift-4.0-RELEASE-ubuntu16.04.tar.gz

接下来,验证您的下载没有被损坏或被篡改。 将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 <swift-infrastructure@swift.org>" imported
gpg: key 21A56D5F: public key "Swift 2.2 Release Signing Key <swift-infrastructure@swift.org>" imported
gpg: key 91D306C6: public key "Swift 3.x Release Signing Key <swift-infrastructure@swift.org>" imported
gpg: key 71E1B235: public key "Swift 4.x Release Signing Key <swift-infrastructure@swift.org>" 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 <swift-infrastructure@swift.org>"
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命令添加到当前shell会话的路径中。 为了确保它在将来的会话中自动添加,请将其添加到.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

CTRL+D退出Swift REPL。 现在安装了Swift,我们准备安装Vapor。

第2步 - 安装蒸气

要安装Vapor,您将从Vapor开发者处下载并执行脚本,将Vapor的官方软件包存储库添加到您的服务器的软件包列表中。 然后你将使用apt来安装最新版本的Vapor。

执行从别人下载的脚本而不先检查它们通常不是一个好的安全措施。 首先,使用带有-o开关的curl命令将安装脚本下载到您的服务器,以指定一个本地文件名:

curl -sL apt.vapor.sh -o apt.vapor.sh

使用less命令来检查这个脚本:

less apt.vapor.sh

检查安装脚本的内容后,执行脚本添加存储库:

bash ./apt.vapor.sh

系统会提示您输入sudo密码。 输入它以便脚本可以添加新的包源。

一旦脚本完成,您可以安装vapor包及其依赖关系。

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步 - 创建一个VAPP应用程序

要创建我们的应用程序,我们将使用Vapor默认提供的模板。 web模板可让您创建面向用户的Web应用程序。

这个模板假设你使用的是Git,并且已经使用你的名字和电子邮件地址来配置它。 如果你没有,你可能会看到一个错误消息,告诉你配置Git。 您可以放心地忽略此消息,或者执行这些命令来提供您的详细信息:

git config --global user.email "your_email@example.com"
git config --global user.name "Your Name"

要从此模板创建Web应用程序,请执行以下命令:

vapor new demo --template=web

该脚本使用您指定的名称在新目录中生成一个新的应用程序:

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,而不是一个完整的Web应用程序,你可以使用vapor new demo --template= apiapi模板。

看看网页模板api模板源代码,看看它们是如何工作的。

让我们运行我们的应用程序,并看到它的行动。

第4步 - 编译和运行蒸气应用程序

Swift应用程序必须被编译,不像Python或Ruby中的应用程序。 这意味着在你运行你的Vapor应用程序之前,你必须运行一个构建过程。

首先,切换到新创建的demo文件夹:

cd demo

然后执行vapor build命令来编译Web应用程序。

vapor build

第一次构建应用程序时,该过程将获取一些依赖关系。 它会缓存这些并在将来跳过这一步,这将使构建过程更快。

构建过程完成后,使用以下命令运行该应用程序:

vapor run serve

服务器将启动,显示这个输出:

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

你会看到有关不安全的散列和密码键的警告,但是当你试用演示时,你可以忽略它们。 当您构建自己的应用程序时,请按照警告提供的说明进行操作。

打开您的网页浏览器并访问http:// your_server_ip :8080 ,查看您正在运行的Vapor应用程序的欢迎页面。

结论

Swift社区正在稳步发展,并且有很多方法可以参与进来。 尽管Swift主要用于构建原生iOS和MacOS应用程序,但Linux平台上的Swift正在兴起。 您可以通过阅读Apple的免费电子书The Swift Programming Language来了解更多有关Swift的信息。 要了解有关Vapor的更多信息,请查看他们的文档

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏