swift on windows
- こんどswiftさわることになるっぽい
- さわってからだと業務秘密が云々とかなってはイヤなので
- 予習段階でひと記事つくっときます
まとめ
- swift on docker for windows でOK
- 今回はチュートリアルでコンソールプログラム的な
-
次回以降やること端末エミュで動かす -> windows向けあるかな?なければLinux向けでOK、、なはずiPhone6で動かす
- シミュレータも実機も、Macがないと駄目なように囲われてた、手が出ません
印象
- Mac必要なんだよなぁと思って避けてた
- けどLinuxでいいらしい
無料でオープンソースのSwiftは、Apache 2.0オープンソースライセンスのもと、多くのデベロッパ、教育機関、学生の方々に幅広く利用していただけます。Appleでは、iOS、macOS、watchOS、tvOS、Linux向けのコードをコンパイルできる、macOSとLinuxのためのバイナリを提供しています。
(引用 https://www.apple.com/jp/swift/)
情報を集める
- WSLなら多分これが一次情報に当たる > Swift on the Windows Subsystem for Linux (WSL)
- dockerなら多分これが公式イメージ > library/swift - Docker Hub
- 非公式だけどswift for windows があるらしい
- Qiitaに wsl で動かす記事もある > Windows 10でSwift開発環境構築 with Atom - Qiita
- Qiitaに docker で動かす記事もある > DockerでSwiftが動くUbuntu環境を立ち上げる - Qiita
- Qiitaの検索でタグを複数条件にする方法を覚えた > 「tag:Swift tag:Windows」
選ぶ
- 一番素のwindowsを汚さなさそうだからdockerにする
- イメージは公式をつかう
docker
失敗例
- 公式とおりにstartすればよいのですが
- ちかごろdocker composeの使い勝手を確認中なので
docker-compose.yml
version: '2.1'
services:
swift:
image: swift:4.2
powershell
PS>docker-compose run swift /bin/bash
- ベースはubuntu:16.04でサイズは1.47GBでした
- REPL狙って
docker-compose run swift swift
てしたらエラーになりました
powershell
error: failed to launch REPL process: process launch failed: 'A' packet returned an error: 8
- 失敗の原因はつぎのとおり
Swift requires a little bit of extra security privilege to run the REPL.
失敗例2 - というか、公式の案内のまま
powershell
docker run --cap-add sys_ptrace -it --rm swift:4.2 swift
- あれ?公式の案内
requires a little bit of extra security privilege
を頼りに
成功 - docker
docker run --privileged -it --rm swift:4.2 swift
成功2 - docker-compose
docker-compose.yml
version: '2.1'
services:
swift:
image: swift:4.2
privileged: true
powershell
PS>docker-compose run swift swift
Welcome to Swift version 4.2 (swift-4.2-RELEASE). Type :help for assistance.
1> 1 + 1
$R0: Int = 2
2> :quit
チュートリアル
- hello world
swiftのrepl
print("Hello, world!")
以上