swiftは2016/4現在、3系に向けて開発が進んでいて、
develompemtバージョンはどんどん最新のスナップショットが公開されている

swift package managerを試したりする場合はdevelopmentバージョンが必要だし
swiftのバージョンを簡単に切り替えられるswiftenvを導入してみた
(OSXではXcode7.3でtoolchainsから切り替えられるようになった)

swiftenvのインストール

Linux(Ubuntu)とOSXそれぞれで導入を試してみた

ubuntuの場合

今回はvagrantでubuntu環境を構築してその上でswiftを入れてみる

現在Ubuntuだと15.10と14.04向けのスナップショットがある
https://swift.org/download/#latest-development-snapshots

Ubuntu14.04のvagrant box
https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box

Vagrantfileはこんな感じ

$ grep -v -e '\#' -e "^$" Vagrantfile

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu1410"
  config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
end

パッケージの最新化

sudo apt-get update

swiftenvインストールするために必要なgitを先にインストール

sudo apt-get install git

SwiftのSystem Requirementsに従って以下をインストール
(これ入れておかないとswiftは入るけどビルドで失敗する)
https://github.com/apple/swift/blob/master/README.md

sudo apt-get 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導入
https://github.com/kylef/swiftenv

git clone https://github.com/kylef/swiftenv.git ~/.swiftenv

echo 'export SWIFTENV_ROOT="$HOME/.swiftenv"' >> ~/.bash_profile
echo 'export PATH="$SWIFTENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(swiftenv init -)"' >> ~/.bash_profile
source .bash_profile

OSXの場合

homebrewを使ってインストール

brew install kylef/formulae/swiftenv
echo 'eval "$(swiftenv init -)"' >> ~/.bash_profile

swiftのインストール

swiftenvのインストールが完了したら続いてswift自体のインストールをおこなう

swiftenv install swift-DEVELOPMENT-SNAPSHOT-2016-03-24-a

引数はsnapshotのURLを直接渡してもOK

swiftenv install https://swift.org/builds/swift-2.2-release/ubuntu1404/swift-2.2-RELEASE/swift-2.2-RELEASE-ubuntu14.04.tar.gz

installコマンドに渡すswiftスナップショットの情報はここで確認出来る
https://swift.org/download/#snapshots

swiftのバージョンを切り替えてみる

複数のswiftバージョンを無事導入できたら切り替えも試してみる

まず、導入済みのswiftバージョン一覧を確認する

$ swiftenv versions

* 2.2-RELEASE (set by /home/vagrant/.swiftenv/version)
  DEVELOPMENT-SNAPSHOT-2016-03-24-a

swiftのバージョンを確認

$ swift -version
Swift version 2.2 (swift-2.2-RELEASE)

swiftのバージョンをdevelopment-snapshotに変更する

$ swiftenv global DEVELOPMENT-SNAPSHOT-2016-03-24-a

swiftのバージョンを確認

$ swift -version
Swift version 3.0-dev (LLVM b010debd0e, Clang 3e4d01d89b, Swift 7182c58cb2)

無事切り替わった

ちなみに、ヘルプを見ると以下のようになっており

$ swiftenv -h

version   Displays the current active Swift version
versions  Lists all installed Swift versions
global    Sets the global version of Swift
local     Sets the local application-specific version of Swift
install   Installs a version of Swift
uninstall Uninstalls a specific Swift version
rehash    Installs shims for Swift binaries

localオプションを使用すると特定のディレクトリ配下のswiftバージョンのみ変更できる

swiftenv local xxxx

実行したディレクトリ直下に.swift-versionファイルが生成され、
DEVELOPMENT-SNAPSHOT-2016-03-24-aなどの
snapshotバージョンが記録され、そのバージョンのswiftが動作することになる