Linux(Ubuntu)安装Swift和Swiftlint
很多时候iOS开发完毕需要接入CI中,而很多CI是基于Linux的,需要在Linux平台安装Swift和Swiftlint,下面就是针对这两个软件的安装步骤。
Swift安装
环境
系统:Ubuntu 16.04
下载Release包
在Swift官方网站下载Release包。
官方地址:https://swift.org/download/#releases

以5.0.2的Realse下载地址为例:
https://swift.org/builds/swift-5.0.2-release/ubuntu1604/swift-5.0.2-RELEASE/swift-5.0.2-RELEASE-ubuntu16.04.tar.gz
通过Linux的命令行下载
通过wget下载工具
wget https://swift.org/builds/swift-5.0.2-release/ubuntu1604/swift-5.0.2-RELEASE/swift-5.0.2-RELEASE-ubuntu16.04.tar.gz
如果断网续传,可以使用如下命令:
wget -c https://swift.org/builds/swift-5.0.2-release/ubuntu1604/swift-5.0.2-RELEASE/swift-5.0.2-RELEASE-ubuntu16.04.tar.gz
下载完成后进行解压:
tar xzf swift-5.0.2-RELEASE-ubuntu16.04.tar.gz
解压后的路径:

配置PATH环境变量
将解压后的文件地址的swift-5.0.2-RELEASE-ubuntu16.04/usr/lib设置为系统路径
export PATH=/绝对路径/swift-5.0.2-RELEASE-ubuntu16.04/usr/bin/:"${PATH}"
验证
通过swift --version命令验证一下:

验证通过以后记得将Path加入~/.bash_profile文件中
到这一步Swift在Linux上就安装好了,如果需要查看源码,还需要安装源码,可以在
https://github.com/apple/swift中找到安装方法,这里就不展开了。
Swiftlint安装
环境:
系统:Ubuntu 16.04
Swfit: swift-5.0.2-RELEASE-ubuntu16.04
命令行安装
使用如下命令:
git clone https://github.com/realm/SwiftLint.git
cd SwiftLint
swift build -c release --static-swift-stdlib
安装完成后的路径

配置PATH环境变量
export PATH=/绝对路径/SwiftLint/.build/x86_64-unknown-linux/release/:"${PATH}"
配置SourceKit
SwiftLint检查代码格式是基于Swift的SourceKit的,文件位于usr/lib/libsourcekitdInProc.so,需要将其复制到realse路径下:
cp /绝对路径/swift-5.0.2-RELEASE-ubuntu16.04/usr/lib/libsourcekitdInProc.so /绝对路径/SwiftLint/.build/x86_64-unknown-linux/release/
验证
通过swiftlint version命令验证一下:

验证通过以后记得将Path加入~/.bash_profile文件中
可能会遇到的问题
安装后可能遇到编译失败的情况,可以尝试安装如下命令:
apt-get install -y clang libblocksruntime0 libcurl4-openssl-dev
其他可能的问题,可以参考Swiftlint的Github关于Linux的issues
https://github.com/realm/SwiftLint/issues/732
Linux环境变量PATH说明
修改Linux环境变量PATH有三种方法,根据情况需要自己选择
1、export PATH=/绝对路径/:"${PATH}" (推荐)
使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH设置就会失效
2、vi ~/.bash_profile (推荐)
使用这种方法,只对当前用户有效,切换登录用户以后,PATH设置就会失效
3、vi /etc/profile
使用这种方法,对所有用户有效,可能会给系统带来安全性问题。
Linux(Ubuntu)安装Swift和Swiftlint的更多相关文章
- linux: Ubuntu安装samba的问题
Ubuntu安装samba的问题 http://blog.csdn.net/jk110333/article/details/8920841 root@ubuntu:~# apt-get instal ...
- [Linux]ubuntu安装基本流程
ubuntu安装基本流程 1.设置分辨率2.设置语言环境3.设置服务器镜像源4.添加终端5.apt.apt-get更新和升级系统软件 sudo apt update/upgrade sudo apt- ...
- linux Ubuntu安装后没有引导 解决方案
用EasyBCD添加ubuntu grub2引导,适用于12.04 及之前版本的ubuntu安装好easybcd后运行,之后看图
- linux ubuntu安装好后,开通远程登录
1.设置root密码 ubuntu安装好后,用初始的第一个用户登录,然后修改root密码: sudo passwd root 2.检查sshd服务是否启动 (1)查看sshd状态 -----若没有ss ...
- Linux (Ubuntu)安装svn
1 先查看是否已经安装了svn 如果没有安装svn则: ubuntu@ip----:~$ svn --version The program 'svn' is currently not instal ...
- Linux ubuntu安装
http://www.ubuntu.org.cn/download/alternative-downloads 下载地址: http://releases.ubuntu.com/ 国内镜像: http ...
- Debian系列Linux/Ubuntu 安装软件
wps(http://community.wps.cn/download/) 优客天气(https://launchpad.net/indicator-china-weather/+download) ...
- linux ubuntu安装jdk
Oracle对Jdk7与Jre7的关系的经典图解 Oracle has two products that implement Java Platform Standard Edition(Java ...
- Linux/Ubuntu安装搜狗输入法
零.你首先需要安装fcitx小企鹅输入法,相信绝大部分用linux的中国人都用这个输入法,安装fcitx后同时还能解决Sublime Text的中文输入问题. 安装fcitx输入法前首先要安装fcit ...
随机推荐
- Akka-CQRS(15)- Http标准安全解决方案:OAuth2+JWT
上期讨论过OAuth2, 是一种身份认证+资源授权使用模式.通过身份认证后发放授权凭证.用户凭授权凭证调用资源.这个凭证就是一种令牌,基本上是一段没什么意义的加密文,或者理解成密钥也可以.服务方通过这 ...
- JavaScript 词法作用域不完全指北
在 JavaScript 作用域不完全指北 中,我们介绍了作用域的概念以及 JavaScript 引擎.编译器和作用域的关系.作用域有两种主要的工作模型:词法作用域和动态作用域.其中最为普遍的也是大多 ...
- 2018.8.19 2018暑假集训之maxnum
昨天去做志愿服务去了没写成Q_Q 今天再来一道 先放题面描述 设有n个正整数(n<=20),将它们联成一排,组成一个最大的多位数 设有n个正整数(n<=20),将它们联成一排,组成一个最大 ...
- Codeforces Gym101518H:No Smoking, Please(最小割)
题目链接 题意 给出一个n*m的酒店,每个点是一个房间,要将这个酒店的房间划分成为两块(一块无烟区,一块吸烟区),相邻的两个房间之间有一条带权边,权值代表空气锁的面积,如果把这条边给去掉,那么需要花费 ...
- 深入学习Spring框架(一)- 入门
1.Spring是什么? Spring是一个JavaEE轻量级的一站式开发框架. JavaEE: 就是用于开发B/S的程序.(企业级) 轻量级:使用最少代码启动框架,然后根据你的需求选择,选择你喜欢的 ...
- 单个单选框radio 点击选中点击取消选中
$("input:radio").click(function(){ var domName = $(this).attr('name');//获取当前单选框控件name 属性值 ...
- Dom4J的基本使用
初始化数据 <?xml version="1.0" encoding="UTF-8"?> <RESULT> <VALUE> ...
- R语言矩阵
矩阵是元素布置成二维矩形布局的R对象. 它们包含相同原子类型的元素. R创建矩阵的语法: matrix(data, nrow, ncol, byrow, dimnames) 参数说明: data - ...
- Dijkstra算法堆优化
转自 https://blog.csdn.net/qq_41754350/article/details/83210517 再求单源最短路径时,算法有优劣之分,个人认为在时间方面 朴素dijkstra ...
- 【CYH-01】小奔的国庆练习赛:赛后标程
前排鸣谢@找寻 大佬 emm-由于头一次举办公开赛所以--准备不是很充分,所以说题解也没有备好,在这里表示歉意. 欢迎大家来发布题解,在此我们可以提供AC代码,供大家参考. T1 解析:这一题可能栈溢 ...