[React Native] 리액트 네이티브에서 GemNotFoundException 해결하기

부기·2023년 4월 6일
0
post-thumbnail

오류 개요

새로운 사이드 프로젝트에 합류하게 됐는데, 프론트엔드 환경 세팅이 이미 완료된 상태에서 합류하게 됐다.

세팅된 리액트 네이티브 프로젝트를 받아 실행하는 과정에서, 내가 기존에 하던 프로젝트(RN)의 Ruby 엔진과 이번 프로젝트에 세팅된 Ruby 엔진 버전이 안맞아서 새로 설치했다. 새로 설치했음에도 Gemfile 관련 오류가 나는 걸 보니 추가로 작업을 해줘야하는 것 같아 방법을 찾아보았다.

Ruby 버전이 다르면 프로젝트 옮겨 다닐 때마다 이렇게 해줘야하는지 고민스럽긴 한데, 일단 해결방법을 적어둔다. 여력이 되면 나중에 이 프로젝트를 세팅하는 Docker 이미지를 만들어봐야겠다.

  • 2023.04.10 - 추가 내용
    리액트 네이티브 프로젝트를 Dockerizing 하는 건 어려울 것 같다. 찾아보니 Android는 어떻게든 할 수 있을 것 같은데 iOS를 개발하기 위해 필요한 MacOS를 Docker로 올릴 만한 방법을 찾지 못했다.

오류 내용

터미널에 아래처럼 오류가 났는데, GemNotFoundException이라는 단어가 눈에 띄어서 이 단어를 넣고 검색을 했다.

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
        from /usr/local/bin/pod:23:in `<main>'

해결 방법

gem에서 bundle이라는 걸 이용해 Gemfile을 설치하는 것 같다. cocoapod을 다시 설치해주고 프로젝트를 다시 실행한다.

// 프로젝트 최상위 경로에서
> bundle install
> gem install cocoapods

// ios 경로에서
> pod install

후기

리액트 네이티브는 말할 것도 없이 훌륭한 프레임워크지만, 안드로이드나 iOS 개발에 필요한 네이티브 단의 지식이 부족해서 약간 구멍 숭숭 뚫린 채로 찾아가면서 하는 기분이다. 기본적인 것이라도 정리해가며 프로젝트를 진행해야 이슈 대응이 더 효율적일 것 같다.

참고 자료

profile
도파민 중독 프론트엔드 개발자

0개의 댓글