Ubuntu 16.04上安装 Swift 3.0及问题解答

我们对“让 Swift 3.0 在更多的 Linux 系统上运行”这件事充满了热情,因此我们开始在 Ubuntu 16.04,即 Xenial Xerus,X86 系统上构建 Swift 3.0。安装过程十分简单,只需要添加我们的 APT 仓库,并使用 apt-get 就可以了。二进制文件会被安装到 /opt/swift/swift-3.0 目录下,所以在安装 3.0 版本后需要更新 path 路径。编辑手记:对于我们为什么使用 /opt/swift 而不是 /usr/bin/ 目录,可以在 swift-dev 邮件列表上的这个帖子里面找到原因。

1. 添加仓库密钥

代码如下:

bash
wget -qO- http://dev.iachieved.it/iachievedit.gpg.key | sudo apt-key add -

2. 添加 Xenial 仓库到 source.list 中

代码如下:

bash
echo "deb http://iachievedit-repos.s3.amazonaws.com/ xenial main" | sudo tee --append /etc/apt/sources.list

3. 执行 apt-get update

代码如下:

bash
sudo apt-get update

4. 安装 swift-3.0!

代码如下:

bash
sudo apt-get install swift-3.0

5. 更新 PATH 路径!

代码如下:

bash
export PATH=/opt/swift/swift-3.0/usr/bin:$PATH

6. 测试

代码如下:

bash
git clone https://github.com/apple/example-package-dealer
cd example-packager-dealer
swift build
Compiling Swift Module 'FisherYates' (1 sources)
Linking Library:  .build/debug/FisherYates.a
Compiling Swift Module 'PlayingCard' (3 sources)
Linking Library:  .build/debug/PlayingCard.a
Compiling Swift Module 'DeckOfPlayingCards' (1 sources)
Linking Library:  .build/debug/DeckOfPlayingCards.a
Compiling Swift Module 'Dealer' (1 sources)
Linking Executable:  .build/debug/Dealer

开始执行!

代码如下:

bash
.build/debug/Dealer

FAQ

Q. 这些二进制版本是苹果官方构建的吗?

A. 并不是,我是在自己的个人服务器上构建的,构建过程请参考我之前的文章。

Q. 此版本的构建包含了哪些 git 的历史版本?

A. 可以使用 apt-cache show swift-3.0 来查看这些信息。例如:

代码如下:

bash
# apt-cache show swift-3.0
Package: swift-3.0
Conflicts: swift-2.2
Version: 1:3.0-0ubuntu10+xenial1
Architecture: amd64
Installed-Size: 370463
Maintainer: iachievedit (support@iachieved.it)
Depends: clang (>= 3.6), libicu-dev
Homepage: http://dev.iachieved.it/iachievedit/swift
Priority: optional
Section: development
Filename: pool/main/s/swift-3.0/swift-3.0_3.0-0ubuntu10+xenial1_amd64.deb
Size: 72513864
SHA256: b1bf548f353466ea72696089a8b666956a2603edb467eb0517e858eb1ba86511
SHA1: 5dd02b14d21f2e821040de3bb1052561653fcfcd
MD5sum: f2c3d3b9517a303cc86558b6c560a8d6
Description: Open Source Swift
 This is a packaged version of Open Source Swift 3.0 built from
 the following git revisions of the Apple Github repositories:
       Clang:  460d629e85
        LLVM:  8d0086ac3e
       Swift:  1abe85ab41
  Foundation:  4c15543f82
Description-md5: a6b1dd247c7584b61692a101d9d0e5fa

每个构建版本的源码树 (source tree) 都是未经变动的。

Q. 你在上传这些二进制之前有进行过测试吗?

A. Swift 的构建过程就是对二进制文件的测试,之后我会进行一些基本的测试,并且用它来编译我自己的应用,但是我目前并没有单独全面的测试用具。

Q. 你是按一定的日程计划来发布新的构建版本吗?

A. 并不是,不过我是尽量与苹果官方的发布保持同步的。我的目的就是发布这些东西,然后使用大家能够体验并开始在 Linux 上面进行 Swift 开发。

Q. 安装后的文件都在哪里?

A. 所有的文件都放在 /opt/swift/swift-3.0/usr 目录下。

Q. 如何理解包的版本号?

A. 将版本号进行分解,3.0-0ubuntu10+xenial1 可以理解为:

3.0 是 Swift 打包的版本号
-0ubuntu10 说明这是 Ubuntu 的第二个包,而开头的 0 代表当前的包不是基于上游的 Debain 包进行改造的。
+xenial1 表示这个包是用于 Xenial Xerus 的。

我觉得我的理解是对的,但如果你有别的看法,给我留言

我们是如何做这些事的

关于如何在 Amazon S3 上面部署 Debain 包仓库,我使用的这份超赞的教程。我曾经试过配置 Launchpad PPA,但是坦白讲,我对部署一个简单的包而需要进行麻烦复杂的元数据整合感到十分厌倦。我能确定对于发行版仓库的部署,这些步骤是必要的,但是对于我需要部署的东西,这显然是杀鸡用牛刀了。对于那些开发 fpm 人们,他们也有一些自己的看法。

我们用来构建代码并且将其上传到仓库的打包脚本可以在 Github 上找到。对于 Swift 3.0,记得切换到 swift-3.0 分支。

(0)

相关推荐

  • Swift 3.0在集合类数据结构上的一些新变化总结

    一.Array数组的更改 array数组中修改的API示例如下: //创建大量相同元素的数组 //创建有10个String类型元素的数组,并且每个元素都为字符串"Hello" //swift2.2 //var array3 = [String](count: 10, repeatedValue: "Hello") //swift3.0 var array3 = [String](repeating: "Hello", count: 10) //创

  • 程序迁移到swift 3.0的一些实用技巧

    前言 在去年swift3.0发布了,新版本可以在Xcode 8中使用了,或者你可以直接从swift.org下载编译器. 从代码可读性来看,新版本有很多提升,函数调用的连续性,更好的命名约定和移除了部分c风格的元素. 从代码可读性来来看,NS前缀已经从Foundation类型中移除,例如NSBundle.mainBundle()现在改为Bundle.mainBundle() . c风格的一元操作符++和--在3.0中已经不适用了: // Only in Swift 2.2 and earlier

  • Ubuntu 16.04上安装 Swift 3.0及问题解答

    我们对"让 Swift 3.0 在更多的 Linux 系统上运行"这件事充满了热情,因此我们开始在 Ubuntu 16.04,即 Xenial Xerus,X86 系统上构建 Swift 3.0.安装过程十分简单,只需要添加我们的 APT 仓库,并使用 apt-get 就可以了.二进制文件会被安装到 /opt/swift/swift-3.0 目录下,所以在安装 3.0 版本后需要更新 path 路径.编辑手记:对于我们为什么使用 /opt/swift 而不是 /usr/bin/ 目录,

  • 在Ubuntu 16.04上用Docker Swarm和DigitalOcean创建一个Docker容器集群的方法

    介绍 Docker Swarm是用于部署Docker主机集群的Docker本地解决方案.您可以使用它来快速部署在本地计算机或受支持的云平台上运行的Docker主机集群. 在Docker 1.12之前,设置和部署Docker主机集群需要使用外部键值存储(如etcd或Consul)来进行服务发现.但是,使用Docker 1.12,不再需要外部发现服务,因为Docker提供了一个内置的键值存储,可以开箱即用. 在本教程中,您将了解如何使用Docker 1.12上的Swarm功能部署一组Docker机器

  • 在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法

    PHP 7.3是PHP的最新版本,如果你想装指定版本的PHP,这篇文章对你有很大的帮助.本文将帮助你在Ubuntu 18.04,16.04上通过PPA的方式安装PHP 7.3 7.2和7.0. 安装PHP 7.3 通过下列命令安装PHP 7.3 $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:ondrej/php $ sudo apt-get update $ sudo apt-get

  • 详解如何在Ubuntu 20.04上安装Xrdp服务器(远程桌面)

    Xrdp 是一个微软远程桌面协议(RDP)的开源实现,它允许你通过图形界面控制远程系统.通过 RDP,你可以登录远程机器,并且创建一个真实的桌面会话,就像你登录本地机器一样. 这篇指南讲解如何在 Ubuntu 20.04 上安装和配置 Xrdp 服务器. 一.安装桌面环境 Ubuntu 服务器通常使用命令行进行管理,并且默认没有安装桌面环境.如果你正在运行 Ubuntu 桌面版,忽略这一步. 在 Ubuntu 源仓库有很多桌面环境供你选择.一个选择是安装 Gnome,它是 Ubuntu 20.0

  • Ubuntu 18.04上安装 phpMyAdmin的详细教程

    我们将安装 phpMyAdmin 在 Ubuntu18.04 上配合 Apache 一起工作. 在安装 phpMyAdmin 之前需要已经安装了LAMP栈并提供了web页面. 如果没有安装可以参照 Ubuntu 18.04上安装Apache,MySQL,PHP 来先安装. 1. 安装 phpMyAdmin 让我们从更新包列表开始,并在Ubuntu 18.04上安装phpMyAdmin.下面我们有两个用&&分隔的命令.第一个命令将更新包列表,以确保您获得phpMyAdmin的最新版本和依赖项

  • Ubuntu 18.04上安装Apache、MySQL、PHP、LAMP的完整教程

    1.安装 Apache $ sudo apt update && sudo apt install apache2 中间会遇到停顿询问是否继续, 输入 y 然后 回车. 2.测试 Apache 通过查看 Apache 服务的状态,检查 Apache 是否安装正确. $ sudo service apache2 status 查看完状态, 你需要按下 q 退出, Apache server的状态. 查看之后,知道Apache的服务已经起来了,那么下一步应该去查看一些Apache web页面.

  • Ubuntu 20.04 上安装和使用 Docker的详细过程(安装包)

    目录 一.解压文件 二.拷贝解压后的文件到/usr/bin/下面 三.加入系统文件 四.启动Docker 五.Docker配置文件 六.重启Docker 七.检查Docker是否安装成功 八.总结 安装前将所有的软件包上传到系统的/opt路径,所有的操作都在/opt目录下 一.解压文件 tar -xzvf docker-19.03.0.tgz 二.拷贝解压后的文件到/usr/bin/下面 cp docker/* /usr/bin/ 三.加入系统文件 cat >/etc/systemd/syste

  • 阿里云服务器Ubuntu 20.04上安装Odoo 15的详细过程

    ​​Odoo15入门系列介绍 Odoo 15 是一个基于Python语言构建的开源软件,面向企业应用的CRM,ERP等领域,其目标是对标SAP,Oracle等大型软件提供商,但却通过仅仅一个平台满足企业所有管理的业务需求. 本文给大家介绍阿里云服务器Ubuntu 20.04上安装Odoo 15的过程,内容如下所示: 使用工具CRT或者MobaXterm_Personal都行: 我们下载 开始进行部署:跟着下面的命令一步一步敲就行了: sudo apt update sudo apt instal

  • 详解如何在Ubuntu 16.04上增加Swap分区

    前言 提高服务器响应速度和防止应用程序内存不足错误的最简单方法之一是添加一些交换空间. 在本指南中,我们将介绍如何将交换文件添加到Ubuntu 16.04服务器. 但是,请注意: 尽管swap区通常建议用于使用传统旋转硬盘驱动器的系统,但使用与SSD交换可能会导致随着时间的推移硬件退化问题. 由于这个考虑,我们不建议在DigitalOcean或任何其他使用SSD存储的供应商上启用swap分区. 这样做可能会影响到您和您的邻居的底层硬件的可靠性. 本指南仅供可能在其他地方有使用旋转磁盘系统的用户参

  • Linux(Ubuntu 18.04)上安装Anaconda步骤详解

    Anaconda是最受欢迎的python数据科学和机器学习平台,用于大规模数据处理,预测分析和科学计算.Anaconda发行版附带了1,000多个数据包,conda命令行工具和Anaconda Navigator的桌面图形用户界面. 本教程将指导您完成在Ubuntu 18.04上下载和安装Anaconda Python Distribution. 下载Anaconda 在撰写本文时,Anaconda的最新稳定版本是5.3版本. 请选择 64-Bit (x86) Installer 进行下载链接:

随机推荐