開発
Ubuntu環境で始めるSwift
murakami
みなさんこんにちは。
この前ついに雪も降り始め、「やっと寒くなったなー」と思っていたらすぐにまた雪が消えてしまいしょんぼりしている村上です。
さてみなさん、以前にAppleがSwiftのOSS化を行いLinux環境でも利用できるようになりましたがもう試しましたか?
普段はiOS開発でSwiftを使っている私ですが、まだその環境では試していなかったのでそろそろやってみようということで環境構築等をしてみた感じをお伝えしたいと思います。
0. 前提
今回、以下の環境において環境構築を行いました。
$ uname -srvo
#=> Linux 4.2.0-19-generic #23-Ubuntu SMP Wed Nov 11 11:39:30 UTC 2015 GNU/Linux$ cat /etc/lsb-release | grep "DESCRIPTION"
#=> DISTRIB_DESCRIPTION=”Ubuntu 15.10″- Swift 2.2
尚、以下の項目は投稿日(2016年2月4日)時点での内容です。もし半年以上経過している場合記事の内容が古くなっていることが考えられますので、このページは参考程度にご利用ください。。
1. 参考ページ
以下のページを参考にインストールを行いました。
2. 環境構築順
今回はhttps://swift.org/download/#linuxにて配布されているスナップショットを利用する流れのものを提示します。
まずはじめに必要なパッケージ群を用意します。
sudo apt-get install clang libicu-dev
次にUbuntuにSwiftとPerfectLibをインストールするを参考にし、Swiftのインストールを行います。
以下に示すコードは対象ページからの引用です。
wget https://swift.org/builds/ubuntu1510/swift-2.2-SNAPSHOT-2015-12-22-a/swift-2.2-SNAPSHOT-2015-12-22-a-ubuntu15.10.tar.gz
tar xzf swift-2.2-SNAPSHOT-2015-12-22-a-ubuntu15.10.tar.gz
cd swift-2.2-SNAPSHOT-2015-12-22-a-ubuntu15.10/
sudo chown -R root:root usr/
cd usr
sudo cp -fR ./* /usr/
このようにすることで環境構築は完了する予定ですが、私の場合/usr/lib/swift/CoreFoundation
内のパーミッションの問題が以下を実行した際に上がってきたため、パーミッションの修正を行いました。
行ったこと
swift
1>let a = 1;
正常に動作しているのであればこれで動くはずですが、/usr/lib/swift/CoreFoundation/module.modulemap
のパーミッションが適切でないというエラーが出ました。
修正
sudo chmod 644 /usr/lib/swift/CoreFoundation/*
上記で問題が解決しました。
以上で環境構築が完了しました。
単純な動作確認は以下のコードで行いました。
// helloworld.swift
import Foundation
import Glibc
func helloworld(name: String) -> Void
{
print("Hello \(name)")
}
helloworld("kmhjs")
swiftc helloworld.swift && ./helloworld
以上、簡単な環境構築のステップでした。
この先の展望として、これまで書いていたコードをiOS/OSX用からもう少し一般化して、どこでも使えるようにしていきたいなと思います。
—
担当: 村上
have_a_nice([ day, development, coffee ])
exit(0)