Swift 3에서 Kitura 서버 응용 프로그램을 실행하려면
Swift를 공부하고 싶었지만 앱을 만드는 것은 지루해 졌기 때문에 Kitura를 시도하기로 결정했습니다.
현재 Kitura의 master 브랜치는 Swift 3의 최신판에 대응이 끝나고 있어, 지금부터 Swift를 공부한다면 3일 것이라고 하는 것으로, 이것을 열심히 움직이기로.
빌드 환경
커밋 55e73b24의 README에 작성된 docker를 사용하는 방법은 현재 작동하지 않습니다 (docker의 이미지가 업데이트되지 않음).
README에서 빌드에 필요한 것을 읽고 자체 제작합니다.
DEVELOPMENT-SNAPSHOT-2016-06-06-a version of Swift 3 trunk (master)
libdispatch 필요합니다.
Initial focus is on ubuntu 15.04.
로 작성되었습니다. 그렇다면 요약하면 ubuntu 15.10에 Swift 3 DEVELOPMENT-SNAPSHOT-2016-06-06-a와 libdispatch를 설치하면 빌드 할 수 있습니다.
docker로 환경 만들기
위의 빌드 환경은 아마 건간 바뀔 것으로 예상되므로 아래와 같은 느낌으로 docker로 작성하기로 하겠습니다.
FROM ubuntu:15.10
RUN apt-get update -y && apt-get install -y \
curl git build-essential \
clang libicu-dev \
autoconf libtool libkqueue-dev libkqueue0 \
libcurl4-openssl-dev libbsd-dev libblocksruntime-dev \
pkg-config systemtap-sdt-dev
RUN curl https://swift.org/builds/development/ubuntu1510/swift-DEVELOPMENT-SNAPSHOT-2016-06-06-a/swift-DEVELOPMENT-SNAPSHOT-2016-06-06-a-ubuntu15.10.tar.gz > /tmp/swift.tar.gz && \
tar -xvzf /tmp/swift.tar.gz --directory / --strip-components=1 && \
rm -f /tmp/swift.tar.gz
ENV PATH /usr/bin:$PATH
RUN git clone --recursive -b experimental/foundation https://github.com/apple/swift-corelibs-libdispatch.git && cd swift-corelibs-libdispatch && sh ./autogen.sh && ./configure --with-swift-toolchain=/usr --prefix=/usr && make && make install
샘플을 빌드하고 실행해보기
다음 명령으로 swift 환경을 시작합니다. 8090 포트에 서버가 서 있기 때문에 미리 열어 둡니다.
docker build -t swift-kitura .
docker run --privileged -p 8090:8090 -i -t --name mykitura swift-kitura /bin/bash
샘플은 Kitura-Sample 를 움직여 보겠습니다… develop 브랜치가 있으므로 그쪽을 clone 해 봅시다.
git clone https://github.com/IBM-Swift/Kitura-Sample -b develop && cd Kitura-Sample
make run
Starting an HTTP Server on port 8090...
라고 표시되고 나서, localhost 8090 에 액세스 해 아래와 같이 표시되면 성공입니다.이상이지만
보시다시피, Swift 공부는 아직 완성되지 않았습니다. Docker의 좋은 공부가되었습니다.
Reference
이 문제에 관하여(Swift 3에서 Kitura 서버 응용 프로그램을 실행하려면), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/macoshita/items/71ac9c85680f06217953텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)