LoginSignup
7
6

More than 5 years have passed since last update.

Swift学習 on Docker for Windows

Last updated at Posted at 2018-10-17

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/)

情報を集める

選ぶ

  • 一番素の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!")

以上

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6