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

使用這種方法,對所有用戶有效,可能會給系統帶來安全性問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM