Windows 10 で 公式 Swift を動かすには Bash on Ubuntu on Windows

【スポンサーリンク】

現在 Windows 10 Insider Preview で提供され、今夏に正式リリース予定の Bash on Ubuntu on Windows を利用すると、Swift.orgで配布されている Ubuntu 用 Swift を実行することができます。今回は Bash on Ubuntu on Windows に Swift をインストールして簡単なプログラムを実行してみます。

なお、Bash on Ubuntu on Windows 自体のインストール方法は以下の記事を参照してください。 docs.hatenablog.jp

まず、Bash on Ubuntu on Windows を起動して次のコマンドを実行し、Swift の実行に必要なソフトウェアをインストールします。

apt-get update
apt-get install clang libicu-dev

続いて次のコマンドを実行し、Swift.orgから Ubuntu 14.04 用 Swift をダウンロードおよび展開します。なお、今回ダウンロードするバージョンは「January 25, 2016」版です。他のバージョンでは動かないかもしれません。

wget https://swift.org/builds/development/ubuntu1404/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04.tar.gz
tar xzf swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04.tar.gz

最後に、展開したディレクトリ内の usr/binPATH に追加するため次のコマンドを実行します。(今回は作業ディレクトリにデフォルトの /root を使用しました。)

export PATH=/root/swift-DEVELOPMENT-SNAPSHOT-2016-01-25-a-ubuntu14.04/usr/bin:"${PATH}"

これで swift コマンドが利用できるようになりました。ためしに次のコマンドを実行してみます。

swift -version

Swift が正しくインストールされていれば次のようなバージョン情報のメッセージが表示されます。

Swift version 3.0-dev (LLVM f95d47afa7, Clang f66c5bb67b, Swift b745691a38)
Target: x86_64-unknown-linux-gnu

それでは、簡単なプログラムを書いて実行してみます。以下のコードを hello.swift というファイル名で保存します。

print("Hello, Swift.")

次のコマンドを実行すると Hello, Swift. が出力されます。

swift hello.swift

Swift はコンパイルして実行可能ファイルを生成することもできます。デフォルトでパッケージマネージャの仕組みが用意されているため、それに則って実行してみます。

まず、パッケージ用のディレクトリを作成します。ここでは Hello ディレクトリを作成します。

mkdir Hello
cd Hello

次に、マニフェストファイル Package.swift を作成します。デフォルトの設定では空のファイルで構いません。

touch Package.swift

ソースファイルを作成します。デフォルトでは Sources ディレクトリの main.swift というファイルから実行されます。

mkdir Sources

ここではソースファイル main.swift に次のようなコードを追加します。

print("Hello, Swift.")

ディレクトリ構成は以下のようになります。

Hello/
├── Package.swift
└── Sources
     └── main.swift

ソースファイルをビルドするには Hello ディレクトリに移動して次のコマンドを実行します。

swift build

ビルドが成功すると、.build/debug/Hello という実行可能ファイルが生成されます。次のコマンドを実行すると Hello, Swift. が出力されます。

.build/debug/Hello

なお、デフォルトではデバッグ版が生成されます。リリース版をビルドするには -c release オプションを追加して実行します。ビルドが成功すると .build/release/Hello というリリース版の実行可能ファイルが生成されます。

$ swift build -c release

Bash on Ubuntu on Windows では、/mnt/c/ ディレクトリがWindowsのCドライブとして参照できるため、このディレクトリ以下にファイルを作成すればWindows用の使い慣れたテキストエディタでコーディングすることもできます。Bash on Ubuntu on Windows はまだ Insider Preview 版ですが、公式の Swift バイナリを実行できるメリットは大きいのではないでしょうか。

詳解 Swift 改訂版

詳解 Swift 改訂版

docs.hatenablog.jp