在Linux上跑Swift

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看316 回复回复2 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 316|回复: 2
收起左侧

在Linux上跑Swift

[复制链接]
linus 发表于 2016-8-6 22:23:59 | 显示全部楼层 |阅读模式
快来登录
获取最新的苹果动态资讯
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码

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服务后端”。


都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

嗯,不错!期待更多好内容,支持一把:
支持敏捷大拇指,用支付宝支付10.24元 支持敏捷大拇指,用微信支付10.24元

评分

参与人数 1金钱 +10 贡献 +10 专家分 +10 收起 理由
Anewczs + 10 + 10 + 10 32个赞!专家给力!

查看全部评分

本帖被以下淘专辑推荐:

流量王 发表于 2016-8-7 23:42:19 | 显示全部楼层
为了学习这个,是不是还要掌握Linux?
苏格拉没有底 发表于 2016-8-11 01:41:14 | 显示全部楼层
流量王 发表于 2016-8-7 23:42
为了学习这个,是不是还要掌握Linux?

当然要啊,各种命令行
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

做任务,领红包。
我要发帖

分享扩散

都看到这里了,就把这资料推荐给您的好朋友吧,让他们也感受一下。
您的每一位朋友访问此永久链接后,您都将获得相应的金钱积分奖励
热门推荐

合作伙伴

Swift小苹果

  • 北京治世天下科技有限公司
  • ©2014-2016 敏捷大拇指
  • 京ICP备14029482号
  • Powered by Discuz! X3.1 Licensed
  • swifthumb Wechat Code
  •   
快速回复 返回顶部 返回列表