반응형

이번에 m1 칩셋이 출시되면서, 맥 제품들 가격군은 내려가고 성능도 좋아졌는데 굳이 기존 2017년도 구형 맥 장비를 초기화하고 테스트를 해달라는 요청이 있어서, ruby / gem을 이용해서 fastlane을 설치하다가 발생한 이슈를 정리해보기로 했다.

 

파일들만 대충 백업하고, 공장초기화를 진행했고, fastlane에서 제공하는 공식 설치 가이드(https://docs.fastlane.tools/getting-started/ios/setup/)를 참고해서 진행을 했다.

 

xcode-select 키워드를 이용한 Command line Tools는 정상적으로 진행되었는데,

이후에 gem 명령어를 사용하는 부분이 문제가 있었고, 로그를 분석해보니 ruby/config.h를 못찾는 문제가 있었다.

결국 뭔가 환경적인 문제라는 이야기인데...

 

OSX가 최근 Bigsur로 올라가게 되면서, 대부분의 라이브러리가 그 기준을 따라가게 된 것이 문제라는 생각이 들어, 구글링을 해보다보니, 심볼릭 링크로 연결만 만들어주면 해결이 되는 것으로 보였다.

(맥은 역시 어렵다.. ㅠㅠ)

 

결론은, 아래와 같은 부분에 대해 조치가 필요하다.

// 이 경로에 보면, universal-darwin20만 있을텐데, 우리는 universal-darwin19를 만들어줘야 한다.
$ cd /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0

// universal-darwin19라는 이름으로 링크 걸기
$ ln -s universal-darwin20 universal-darwin19

 

이후에 gem을 이용한 모든 설치 및 업데이트가 정상화된 것 처럼 보였다.

하지만, 명령어 창에 fastlane을 입력하면 아무것도 안나왔고, 이 부분도 조금 살펴보니 /usr/bin 폴더에 cp나 ln을 사용할 수 없는 것이 원인이었다.

 

해결방법은 복구모드로 들어가서, SIP라는 애를 disable 시키면 된다고는 하는데.. 맥에서 괜히 enable을 default로 해둔것이 아닌가 싶어서, 환경변수로 해결하기로 함.

 

환경변수는 대략 아래처럼 만들어주면 된다. 

CI툴이나 기타 솔루션에서 fastlane을 이용할 계획이 있다면, 가급적 root에 설정하는 것이 좋음.

(해당 툴에서 명령어 실행할 계정을 명시할 수 있다면 굳이 안해도 됨)

$ cd ~
$ vi .bash_profile

# .bash_profile

# fastlane 버전은 적용시점마다 다를 수 있으니, 본인 환경에 맞게 수정해야 함.
export PATH=${PATH}:/Library/Ruby/Gems/2.6.0/gems/fastlane-2.176.0/bin/

 

반응형
,