Swift是一门优秀的语言,开源以后更是火得让Golang嫉妒。现在甚至都可以搞服务端编程了(就是这个项目)。Swift也是很潮地可编译执行可解释执行,还自带REPL。特别想把它装到linux上。

参考过敏捷大拇指上的淘帖专辑“Swift Linux Server服务后端”之后,我也上手了。

下面是我在Arch linux上安装试用Swift的过程。Swift版本是2.2-dev。




1、安装Swift



1.1、AUR

如果用的是Ubuntu,苹果已经做了两个包,简单安装就好。

而我用的是archlinux,并没有官方支持。。。不过考虑到前些日子Swift连续占据Github Trending榜首,强烈怀疑已经有人把它推到AUR了。搜了下swift,果然有,我搜的时候有三个packages。其中swift-bin和swift-language-bin其实是一样的,目前后者已经合并到swift-bin。另外还有一个package是swift-language-git,带git,不用解释了。

我选择装的是swift-bin,安装很简单:

[Bash shell] 纯文本查看 复制代码
yaourt -S swift-bin




1.2、PGP问题

安装过程中两次出现:

[Bash shell] 纯文本查看 复制代码
One or more PGP signatures could not be verified!


一次是装依赖包ncurses5-compat-libs的时候。选择编辑PKGBUILD,可以在开头看到关于这个问题的说明,重点是:

[Bash shell] 纯文本查看 复制代码
TLDR: gpg --keyserver pgp.mit.edu --recv-keys C52048C0C0748FEE227D47A2702353E0F7E48EDB


按说明导入key就可以继续(墙内的可能需要科学上网 ):

[Bash shell] 纯文本查看 复制代码
gpg --keyserver pgp.mit.edu --recv-keys C52048C0C0748FEE227D47A2702353E0F7E48EDB


第二次是验证Swift包本身的时候,关于这个,Swift官方下载页面已有说明:

If you are downloading Swift packages for the first time, import the PGP keys into your keyring


按说明执行:

[Bash shell] 纯文本查看 复制代码
wget -q -O - [url]https://swift.org/keys/all-keys.asc[/url] | gpg --import -


安装继续。。。

Done!




2、Hello, world!

先写个Hello, world试用一下。

终端执行swift可以打开REPL:

在Linux上跑Swift 1

在Linux上跑Swift - 敏捷大拇指 - 在Linux上跑Swift 1


也可以写成脚本:

[Bash shell] 纯文本查看 复制代码
#!/bin/env swift

print("Hello, world!")


在Linux上跑Swift 2

在Linux上跑Swift - 敏捷大拇指 - 在Linux上跑Swift 2


也可以用swiftc先编译后执行:

在Linux上跑Swift 3

在Linux上跑Swift - 敏捷大拇指 - 在Linux上跑Swift 3





3、编辑器

我用的是VIM,但是目前还没有找到一个好用的Swift语法插件。vim-swift已经两年没更新,自动缩进的issue一直也没有解决。vim.swift稍微好些,但试用了下,缩进也并不完美。YouCompleteMe也不支持Swift。总之,到目前为止,Linux上Swift的开发工具还很不完善。要日常地使用,还需要折腾些时候。

至于其他的编辑器(sublime text等等)是否支持Swift,我并没有去尝试,偷了个懒。。。

平常写Swift都是在Mac上,有Xcode足够了。


更多文章

更多内容请查看淘帖专辑“Swift Linux Server服务后端”。