iOS Dev

[Tuist 4.x] Tuist install이 먹히지 않을 때.

Mosu(정종인) 2024. 3. 13. 21:37
반응형

 

https://github.com/tuist/tuist/releases/tag/4.0.0

Tuist 3.x 버전을 주로 쓰고 있다가 Tuist 4.x 버전으로 넘어갈 때 Tuist install이 잘 안된다.

이런 경우에는 이전 버전을 삭제해야 하는데, 이전 버전을 curl로 삭제한 후 다시 깔아줘야 한다.

개발자들은 Mise를 적극 추천한다고 한다.

 

Release 4.0.0 · tuist/tuist

These release notes are longer than usual because it's a major release and we include migration guidelines. Breaking changes are prefixed with Breaking. Tuist Improved Improve performance of resol...

github.com

 

 

따라서 install이 잘 안될 때는 위 링크를 참고해서 삭제하고 Mise로 다시 깔아보자.

 

1. tuist uninstall

curl -Ls https://uninstall.tuist.io | bash

 

2. mise를 이용해서 tuist 깔기

mise install tuist            # Install the current version specified in .tool-versions/.mise.toml
mise install tuist@x.y.z      # Install a specific version number
mise install tuist@3          # Install a fuzzy version number
mise use tuist@x.y.z          # Use tuist-x.y.z in the current project
mise use -g tuist@x.y.z       # Use tuist-x.y.z as the global default
mise use tuist@latest         # Use the latest tuist in the current directory
mise use -g tuist@system      # Use the system's tuist as the global default

공식 페이지(https://docs.tuist.io/documentation/tuist/installation)에 나와있는 코드들 중에

(1) mise install tuist

(2) mise use tuist@latest

를 해주면 끝. (정확한 버전을 지정해주면 더 좋아요)

(참고 : mise use를 하면 .mise.toml 파일이 생기는데 이 파일을 사용해서 mise로 이용하는 툴의 버전이나 각종 설정들을 미리 해둘 수 있음)

 

3. 이제 어떻게 실행하죠?

mise를 활용하여 tuist 커맨드를 실행.

mise exec -- tuist version

위 커맨드로 tuist version을 실행한 것과 동일한 결과를 얻을 수 있음.

mise exec -- tuist edit

edit도 동일하게 할 수 있다.

 

mise exec -- tuist install

fetch가 deprecated되고 생긴 install로 이제 의존성 등을 external로 관리할 수 있다.

 

4. 추가

위 4.0.0 업데이트 로그 링크 (https://github.com/tuist/tuist/releases/tag/4.0.0) 를 또 보면 이제 Package.swift 파일을 Tuist/ 디렉토리 내부가 아닌, Root 디렉토리에 바로 위치시키라는 내용이 적혀있다.  (원래 Dependencies.swift 써왔는데 Dependency 자체가 deprecated 되면서 의존성 관리는 이제 package.swift를 사용해야 한다.) 하지만 이렇게 하면 잘 안된다. 왜 안되는지는 더 파악해봐야 겠지만 사용 방법은 https://sunrinnote.tistory.com/188 요기에 써두었다.

반응형