很多时候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的更多相关文章

  1. linux: Ubuntu安装samba的问题

    Ubuntu安装samba的问题 http://blog.csdn.net/jk110333/article/details/8920841 root@ubuntu:~# apt-get instal ...

  2. [Linux]ubuntu安装基本流程

    ubuntu安装基本流程 1.设置分辨率2.设置语言环境3.设置服务器镜像源4.添加终端5.apt.apt-get更新和升级系统软件 sudo apt update/upgrade sudo apt- ...

  3. linux Ubuntu安装后没有引导 解决方案

    用EasyBCD添加ubuntu grub2引导,适用于12.04 及之前版本的ubuntu安装好easybcd后运行,之后看图

  4. linux ubuntu安装好后,开通远程登录

    1.设置root密码 ubuntu安装好后,用初始的第一个用户登录,然后修改root密码: sudo passwd root 2.检查sshd服务是否启动 (1)查看sshd状态 -----若没有ss ...

  5. Linux (Ubuntu)安装svn

    1 先查看是否已经安装了svn 如果没有安装svn则: ubuntu@ip----:~$ svn --version The program 'svn' is currently not instal ...

  6. Linux ubuntu安装

    http://www.ubuntu.org.cn/download/alternative-downloads 下载地址: http://releases.ubuntu.com/ 国内镜像: http ...

  7. Debian系列Linux/Ubuntu 安装软件

    wps(http://community.wps.cn/download/) 优客天气(https://launchpad.net/indicator-china-weather/+download) ...

  8. linux ubuntu安装jdk

    Oracle对Jdk7与Jre7的关系的经典图解 Oracle has two products that implement Java Platform Standard Edition(Java ...

  9. Linux/Ubuntu安装搜狗输入法

    零.你首先需要安装fcitx小企鹅输入法,相信绝大部分用linux的中国人都用这个输入法,安装fcitx后同时还能解决Sublime Text的中文输入问题. 安装fcitx输入法前首先要安装fcit ...

随机推荐

  1. java-基础语法01

    一.变量 1. 何为变量?:在数学中变量就是一个不确定的量,随时都会改变,在java中变量也是这样,只不过它是内存中装载数据的小盒子,你只能用它来存数据和取数据. 2. 变量的基本类型(四类八种),见 ...

  2. leetcode笔记 动态规划在字符串匹配中的应用

    目录 leetcode笔记 动态规划在字符串匹配中的应用 0 参考文献 1. [10. Regular Expression Matching] 1.1 题目 1.2 思路 && 解题 ...

  3. 在django中用MySQL为数据库 新建一个项目的流程

    创建mysql数据库 在cmd输入 mysql -uroot -p 启动mysql客户端并连接服务器 创建一个db_orm的数据库 mysql>CREATE DATABASE db_orm ch ...

  4. Oracle数据库----函数

    --大小写控制函数--upperselect * from emp where job = upper('salesman'); --lowerselect * from emp where lowe ...

  5. MySQL 8.0 information_schema系统库的改进

    目录 information_schema有何用? mysql8.0 之前的查询方式 mysql8.0 开始的查询方式 测试5.7和8.0不同版本访问I_S库的性能 结论 information_sc ...

  6. 基于SpringCloud的Microservices架构实战案例-架构拆解

    自第一篇< 基于SpringCloud的Microservices架构实战案例-序篇>发表出来后,差不多有半年时间了,一直也没有接着拆分完,有如读本书一样,也是需要契机的,还是要把未完成的 ...

  7. hdfs文件写入kafka集群

    1. 场景描述 因新增Kafka集群,需要将hdfs文件写入到新增的Kafka集群中,后来发现文件不多,就直接下载文件到本地,通过Main函数写入了,假如需要部署到服务器上执行,需将文件读取这块稍做修 ...

  8. spring mvc重定向问题

    在页面提交时中,路径应该使用“/默认上下文/controller路径”,在controller重定向中,应该使用“/controller路径”,不加上下文.

  9. MyBatis从入门到精通(2):MyBatis XML方式的基本用法

    本章将通过完成权限管理的常见业务来学习 MyBatis XML方式的基本用法 2.1一个简单的权限控制需求 权限管理的需求: 一个用户拥有若干角色,一个角色拥有若干权限,权限就是对某个模块资源的某种操 ...

  10. 根据数据库帮助类采用事务插入图片到sql server数据库中

    我们定义数据库为image类型,然后读取图片为字符流,再保存到数据库中,首先我们定义一个读取图片的公共类,此公共类以后会用到,所以可以建立相应的帮助类 public static byte[] Rea ...