단독망에서 Kitura 사용하는 방법

외부망이 연결되어 지지 않는 네트워크가 많다.
보통 보안이라는 이름으로 그렇게 구성되어 있다.
그렇다고 저장소(일단 Repository)를 연결해주지 않는다.
해당 업데이트 들은 CD 로 구워서 이동해야 한다.
그러면서 백신 검사는 한다고 한다.
리눅스 바이러스까지 잡는 V3 대단해요..ㅋㅋ

이런 상황에서 Kitura 를 운영하고 싶다면 먼저 걸리는게 있을 것이다.
swift package update 를 하면 외부 저장소가 연결되지 않아 관련 모듈 설치가 안된다.

난 이런 경우 이렇게 해결한다.
일단 외부 연결이 되는 곳에서 해당 파일을 추가하고 업데이트를 한다.
$ vi Package.swift
.package(url: "https://gitbub.com/IBM-Swift/Kitura", from: "2.7.0")

추가한 다음에 하단에 타켓에 해당 내용을 추가해줘야 한다.
보통 이것을 빼먹어서 오류가 난다.
.target(name: "app_name", dependencies: ["Kitura"])

이제 패키지를 업데이트 한다.
$ swift package update

뭐라 업데이트를 많이 한다. 관련 모듈까지 하기 때문이다.
이때 나오는 문구를 잘 적어 두어야 한다.
특히 각 모듈의 버전들.....
이것 때문에 설정이 아주 복잡해질 수 있다.

업데이트가 완료되면
$ cd .build
$ cd repositories
$ ls
방금 업데이트 한 관련 모듈이 이곳에 다 있다.
이 폴더를 통째로 복사하여 단독망으로 이동하면 된다.

나의 경우는 해당 모듈의 뒷부분은 전부 자르고 이동했다.
$ mv Kitura--70115644 Kitura

단독망에서는 이렇게 사용했다.
$ mkdir app_name
$ cd app_name
$ swift package init --type executable
폴더가 만들어지면 이곳에 repository 를 복사한다.
$ vi Package.swift
.package(url: "./repository/Kitura", from: "2.7.0")

이때 복사된 관련 모듈을 전부 적어줘야 한다.
하단에 타켓에도 같이 추가해주자.

이제 컴파일을 해보면 잘 되는 것을 알 수 있다.

댓글

이 블로그의 인기 게시물

한글 2010 에서 Ctrl + F10 누르면 특수문자 안뜰 때

아이폰에서 RFID 사용하는 방법

VCC 와 GND 는 무엇일까?