모바일 프로그래밍/IOS참고자료

[CocoaPods] Error : You may have encountered a bug in the Ruby interpreter or extension libraries.

Dannian 2022. 3. 22. 15:54
반응형

투잡으로 앱을 수정하는 상황이 있어서 기존 프로젝트 받아서 pod install을 터미널에 입력했더니 다음과 같은 에러가 발생했습니다...

pod install error message

확인을 해 봤더니 M1맥북을 사용 할 때 발생하는 에러라고 하네요... 하긴 그 동안 수정작업이 있으면 기존에 쓰던 Intel 맥북을 썼지 M1은 프리로 뛰고 있는 곳에서만 사용을 했었어서 저 에러 메세지를 못 봤었네요.

내용은 루비 인터프리터 또는 확장 라이브러리에서 버그 발생이라는 건데, 일단 구글링으로 해결법을 찾아봤습니다.

 

해결법

몇 가지 방법이 있다고 찾았는데, 개인적으로 가장 편한 방법을 소개해보려 합니다.

아래의 명령어를 순서대로 입력하면 간단히 처리되네요.

$ sudo arch -x86_64 gem install ffi
$ arch -x86_64 pod install

명령어 입력 후 정상적으로 pod install 명령어가 실행된 상태.

왜 M1에서만 위의 에러 발생하는 것이고, 해당 명령어는 뭔지 찾아보았습니다.

일단 sudo arch -x86_64 gem install ffi는 Ruby FFI 라이브러리를 업데이트 후 재설치를 하기 위한 것인데, 이 때 설치 아키텍쳐를 x86_64로 지정해서 설치하는 것이라 합니다.

그 이유는 M1은 arm기반이라 arch 명령을 수행하면 arm64라고 나온다는 Stackoverflow, git issues의 글 그리고 블로그 포스팅을 봤네요.. 이 부분은 차후 좀 더 찾아보고 공부해봐야겠습니다.

 

위의 sudo arch -x86_64 gem install ffi 이후엔 arch -x86_64 pod install 을 입력합니다.

여기서 arch -x86_64를 앞에 붙이는 이유는 아키텍쳐와 관련된 호환성의 문제가 계속 발생하기 때문입니다. 즉 pod install만 호출하게 된다면 arm64 아키텍쳐로 인식을 하기 때문에 x86_64로 지정해서 실행하는 것입니다.

 

다행히도 많은 분들이 이미 겪으신 문제라 금방 해결되어서 다행인 것 같습니다.

반응형