윈도우 시스템에 wsl 을 설치하고, ubuntu 를 설치했다. (2022년 7월 15일)
여기에서 swift 연습을 해보기 위해서 swift 설치과정을 진행해서 설치가 되었는데 ( apt 명령으로 디펜던시 패키지들을 설치하고, swift ubuntu 20.04 용 릴리즈 tar 파일을 받아서 풀고, PATH 변수 설정해주기까지 ) swift 명령이 어떤 건 행이 걸려서 동작을 안했다.
1. swift 명령만 실행하여 repl 에 들어가려 하면 멈춘다.
$ swift
Swift version 5.6.2 (swift-5.6.2-RELEASE)
Target: x86_64-unknown-linux-gnu
Welcome to Swift!
Subcommands:
swift build Build Swift packages
swift package Create and work on packages
swift run Run a program from a package
swift test Run package tests
swift repl Experiment with Swift code interactively (default)
Use `swift --help` for descriptions of available options and flags.
Use `swift help <subcommand>` for more information about a subcommand.
여기까지 화면이 나오고 입력프롬프트는 나오지 않는다. ubuntu 터미널을 꺼야만 한다. StackOverflow 에서 좀 옛날버전에 대한 동일한 증상을 찾았다. ( https://stackoverflow.com/questions/55885759/swift-repl-not-working-in-windows-subsystem-for-linux )
2. swift --version : swift 버전이 잘 출력된다.
3. swift package init : 스위프트 패키지 프로젝트 구조 잘 생성한다.
4. swift run : 기본으로 생성된 hello world 프로젝트인데 Illegal instruction (core dumped) 라는 메시지가 나오며 죽는다.
5. swift test.swift : 파일 하나짜리 간단한 스위프트 스크립트는 잘 실행한다. ( 단일파일 스크립트를 만들어 명령행에서 swift 실행이 가능하다. )
6. swiftc test.swift : 파일 하나짜리 간단한 스위프트 스크립트 컴파일 잘 성공한다. ( gcc 와 같이 명령행에서 실행파일 컴파일이 가능하다. )
결국 문제를 찾았는데, 설치한 ubuntu 가 wsl1 이었던 것이 문제였다. wsl 설치가 미숙하여, wsl2 로 설치했다고 생각했는데, wsl1 으로 설치되었었다. 파워쉘(파워셸)에서 설치된 ubunt 의 버전을 2 로 바꾸고 ( wsl set-version ) 나서 위 문제들이 해결됐다.
'프로그래밍 > SWIFT' 카테고리의 다른 글
100DaysOfSwiftUI - Day 26 (0) | 2022.07.19 |
---|---|
Swift on Ubuntu error: cannot find 'URLRequest' in scope (0) | 2022.07.18 |
XCode 프로젝트에 써드파티 패키지 추가하기 (0) | 2022.07.14 |
Swift XMLCoder (0) | 2022.07.14 |
SwiftUI : Primes Numbers (0) | 2022.07.10 |