UbuntuにSwiftをインストールしてみた

Ubuntu 22.04 および 20.04に最新のSwiftをインストールする方法です。

Ubuntu 22.04にSwiftをインストールするには

Swiftの実行環境を整えよう

まず、依存しているソフトウェアをインストールします。

$ sudo apt update
$ sudo apt install clang libicu-dev

上記の依存関係が正常にインストールされたことを確認するには、Clang のバージョンを確認します。

clang --version

Swiftをインストールしよう

Ubuntu 22.04 にプログラミング言語 Swift をインストールします。

https://swift.org/にアクセスして、DOWNLOADをクリック。

ページ内の”Ubuntu 22.04″の行にあるリンク(上図)をクリックし、ファイルを保存します。

コマンドでダウンロードするには、以下のように入力します。なお、バージョン等によってURLやファイル名は異なります。

$ wget https://download.swift.org/swift-5.9.2-release/ubuntu2204/swift-5.9.2-RELEASE/swift-5.9.2-RELEASE-ubuntu22.04.tar.gz

Swiftをインストールするディレクトリを作成します。ディレクトリの場所はどこでも構いません。一般的には /opt/swift が適切でしょう。

$ sudo mkdir /opt/swift

ダウンロードした tarball と呼ばれるファイルを、作成したディレクトリに解凍します。

$ sudo tar -xzf swift-5.9.2-RELEASE-ubuntu22.04.tar.gz -C /opt/swift --strip-components=1

どこのディレクトリにいても Swift を簡単に実行できるようにするには、環境変数の PATH に Swift の実行ファイルがある場所を追加する必要があります。テキスト エディタを使用して.bashrcまたは.zshrcなどのプロファイルを開き、次の行を追加します。以下はbashの例です。zshは読み替えてください。

export PATH=/opt/swift/usr/bin:"$PATH"

エディタで”.bashrc”に、以下の行を追加します。

export PATH=$HOME/usr/bin:$PATH

エディタをセーブして終了し、”.bashrc”を読み込みます。

$ source $HOME/.bashrc

以上の手順でSwiftが実行可能になります。
現在使用しているSwiftのバージョン情報を表示してみましょう。

$ swift -version

簡単な動作確認をしてみよう

Swift Package Managerによるコンパイル/リンクと実行を行ってみます。最後に”Hello, world!”が表示されれば成功です。

テストランするためのディレクトリを作成し、パッケージを作成します。以下は実行結果も掲載しています。

$ mkdir sample
$ cd sample
$ swift package init --type executable
Creating executable package: sample
Creating Package.swift
Creating .gitignore
Creating Sources/
Creating Sources/main.swift

パッケージのエントリポイントとなる main.swift の中身を確認します。

$ cat Sources/main.swift
// The Swift Programming Language
// https://docs.swift.org/swift-book

print("Hello, world!")

パッケージをビルドし、実行結果を表示します。

$ swift run
Building for debugging...
[6/6] Linking sample
Build complete! (2.89s)
Hello, world!

Ubuntu 20.04にSwiftをインストールするには

まず、依存しているソフトウェアをインストールします。

$ sudo apt update
$ sudo apt-get install \
          binutils \
          git \
          gnupg2 \
          libc6-dev \
          libcurl4 \
          libedit2 \
          libgcc-9-dev \
          libpython2.7 \
          libsqlite3-0 \
          libstdc++-9-dev \
          libxml2 \
          libz3-dev \
          pkg-config \
          tzdata \
          zlib1g-dev

続いて、ツールチェインをインストールします。ツールチェインとは、Swiftを取り巻く開発に必要なツールをまとめたものです。
https://swift.org/にアクセスして、DOWNLOADをクリック。

ページ内の”Ubuntu 20.04″をクリックし、ファイルを保存します。

コマンドでダウンロードするには、以下のように入力します。なお、バージョン等によってURLやファイル名は異なります。

$ wget https://swift.org/builds/swift-5.2.4-release/ubuntu2004/swift-5.2.4-RELEASE/swift-5.2.4-RELEASE-ubuntu20.04.tar.gz

ダウンロードが完了したら、ファイルを展開します。

$ tar xvf swift-5.2.4-RELEASE-ubuntu20.04.tar.gz

swift-5.2.4-RELEASE-ubuntu20.04/usr/binの下に実行モジュールがあるので、ここでは、usr以下をホームディレクトリに移動し、パスを通します。

$ mv swift-5.2.4-RELEASE-ubuntu20.04/usr/ $HOME

エディタで”.bashrc”に、以下の行を追加します。

export PATH=$HOME/usr/bin:$PATH

エディタをセーブして終了し、”.bashrc”を読み込みます。

$ source $HOME/.bashrc

以上の手順でSwiftが実行可能になります。
現在使用しているSwiftのバージョン情報を表示してみましょう。

$ swift -version
Swift version 5.2.4 (swift-5.2.4-RELEASE)
Target: x86_64-unknown-linux-gnu

簡単な動作確認をしてみる

Swift Package Managerによるコンパイル/リンクと実行を行ってみます。最後に”Hello, world!”が表示されれば成功です。

$ mkdir sample
$ cd sample
$ swift package init --type executable
Creating executable package: sample
Creating Package.swift
Creating README.md
Creating .gitignore
Creating Sources/
Creating Sources/sample/main.swift
Creating Tests/
Creating Tests/LinuxMain.swift
Creating Tests/sampleTests/
Creating Tests/sampleTests/sampleTests.swift
Creating Tests/sampleTests/XCTestManifests.swift
$ cat Sources/sample/main.swift 
print("Hello, world!")
$ swift run
[4/4] Linking sample
Hello, world!