cannot load such file -- ffi_c (LoadError)

Tags
ios

문제

notion image
cannot load such file -- ffi_c (LoadError)
 
notion image
incompatible architecture (have 'arm64', need 'x86_64')
 
notion image
notion image
pod install 이 제대로 되지 않았으므로, .project(workspace 말고) 파일을 열었을 때,
위 그림과 같이 Pods 란에 모두 빨간표시로 에러가 나는 모습도 볼 수 있다.
 

원인

공통적인 것은 ffi 와 관련돼 있고, x86_64가 필요한데 arm64인 게 문제다.
(현재 m1 맥북 사용중)

해결방안

ffix86_64 용으로 바꿔주면 된다.

기존 ffi, cocoapods 제거

notion image
우선 기존에 설치되어 있는 cocoapods 제거부터 하자.
grep cocoapods 에서 나오는 것들을 모두 제거할 건데, 아래 명령어 한줄로 모두 한번에 uninstall 시킬 수 있다.
$ gem list --local | grep cocoapods | awk '{print $1}' | xargs sudo gem uninstall
notion image
모두 제거가 되었다. 이제 우리가 필요한 걸로 다시 설치하자.

x86_64 용으로 재설치

# x86_64 용으로 재설치 $ sudo arch -x86_64 gem install ffi $ sudo arch -x86_64 gem install cocoapods # pod install 다시 수행 $ arch -x86_64 pod install

유의사항

notion image
우리는 arm64 용이 아니라 x86_64용으로 재설치를 하는 것을 원했다.
그래서 arch -x86_64를 추가하여 명령어를 주는 건데, 설치되는 것이 arm64라면 여전히 동일한 문제에 놓인다.
x86_64용으로 잘 설치되는 지 확인하자.
 
notion image
$ sudo arch -x86_64 gem install ffi --platform=x86_64-darwin $ sudo arch -x86_64 gem install cocoapods --platform=x86_64-darwin
arch -x86_64를 명시했음에도 arm64용이 설치되는 것에는 여러 환경적 요인이 있을 수 있는데,
--platform=x86_64-darwin 으로 명시하여서 강제로 x86_64로 다운받도록 하면 된다.
 
notion image
pod install 이 에러없이 잘 진행된다.