UbuntuにswiftenvでSwiftの環境を構築する

ちょっとサーバーサイドSwiftをやってみたかったのでUbuntuにswiftenvを利用してSwiftの環境構築を行いました。

環境

お手軽だったのでMacOS上にVagrantでUbuntuの環境を用意しました。

MacOS Mojave
Vagrant 2.2.7
ubuntu-18.04

事前準備

ここから先はVagrant上のUbuntuでの作業になります。

swiftenvを利用してSwiftをビルドするための依存パッケージをインストールします。

sudo apt install git cmake ninja-build clang python uuid-dev libicu-dev icu-devtools libbsd-dev libedit-dev libxml2-dev libsqlite3-dev swig libpython-dev libncurses5-dev pkg-config

swiftenvのインストール

git clone https://github.com/kylef/swiftenv.git ~/.swiftenv
echo 'export SWIFTENV_ROOT="$HOME/.swiftenv"' >> ~/.bashrc
echo 'export PATH="$SWIFTENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(swiftenv init -)"' >> ~/.bashrc

この段階で~/.bashrcに追記した、環境変数を有効にしておきます。

source ~/.bashrc

Swiftのインストール

swiftenv install --list

で利用できるSwiftのバージョンの一覧が見られます。

せっかくなので https://swift.org/download/#releases から最新のSwiftを探して利用してみます。
Ubuntu18.04を利用するのでUbuntu18.04のリンクをコピーして使います。

執筆時点での最新はSwift5.1.4でした。

swiftenv install https://swift.org/builds/swift-5.1.4-release/ubuntu1804/swift-5.1.4-RELEASE/swift-5.1.4-RELEASE-ubuntu18.04.tar.gz

結構時間がかかるので気長に待ちましょう。

Swiftバージョンを切り替える

インストールが完了したら、

swiftenv global <切り替えたいバージョン>

とすることで全体のSwiftのバージョンが切り替えられます。

ローカル環境(特定のディレクトリ)のみ切り替えたい時は

swiftenv local <切り替えたいバージョン>

でできます。