[RN-CheatSheet] React-Native M1 디바이스 환경설정

HYUNGU, KANG·2022년 10월 5일
3

React-Native-CheatSheet

목록 보기
8/24
post-custom-banner

M1 이 나온지 얼마 안됐을때는 호환되는 프로그램들이 많지 않아서 Intel 맥용으로 빌드된 프로그램을 Rosetta2 라는 프로그램을 사용해서 실행해야 했다.

흔히 보이는 CLI 환경에서 명령어를 실행할때 붙이는 arch -x86_64 some-program 이것인데
엄밀히 말하면 m1 아키텍쳐가 나온지 거의 2년이 되어는 현 시점에서는 거의 모든 프로그램이 정상적으로 지원을 하고 있고
그렇기 때문에 RN 환경설정을 하는데에는 더이상 필요가 없는 명령어이다. (오히려 꼬이면서 입문자들을 혼란에 빠트린다.)

homebrew, ruby/gem, cocoapods 를 Intel 맥용으로 잘못 설치 혹은 사용하게 되면, 이는 이후 연관된 모든 명령어들에 arch -x86_64 를 붙여 실행해야 하도록 만든다.
이런 이유때문에, 아키텍쳐에 대한 전반적인 이해도가 높지 않거나 어떤것을 설치했었는지 까먹는 경우
이런저런 케이스(ex: 프로그램 설치시 로컬에서 빌드를 하는 경우)에서 아키텍쳐가 꼬이면서 굉장히 애먹는 상황이 발생한다.


M1 환경에서 정상적으로 설치를 하려면 아래의 스텝으로 가는게 가장 정신건강에 이롭다.

Homebrew 설치

이제는 Apple silicon(m1) 환경도 정상적으로 지원이 되므로, 홈페이지에 있는 가이드를 따라서 설치하면 된다.

터미널에서 which brew 명령어를 입력했을때, /opt/homebrew/bin/brew 가 아닌 다른 경로가 나타난다면 x86 아키텍쳐로 설치됐을 가능성이 높다. 만약 그런 상황이라면 아래의 discussion 을 읽고 마이그레이션을 고려하거나 밀고 새로 깔자.
https://github.com/Homebrew/discussions/discussions/417

Ruby 설치

M1 맥에 기본으로 설치되어있는 버전은 아이러니하게도 FFI 등의 이슈가 발생하면서 M1 환경에서 제대로 안돌아간다. (기본 설치된것을 꾸역꾸역 그대로 사용하면, 앞으로 사용할 cocoapods, bundle 등에 당연히 영향을 미친다.)
rbenv 를 설치하고, 2.7.5 버전 혹은 그 이상을 설치해주자. (보통 rbenv 도 homebrew 를 통해서 설치하는데, 첫단추인 homebrew 를 인텔로 잘못 끼웠다면 ruby 설치도 단추를 잘못 끼게 된다. 주의하자.)

rbenv 를 통해서 설치가 정상적으로 됐다면 which ruby 명령어를 입력했을때, /Users/name/.rbenv/shims/ruby 와 같이 rbenv 의 루비가 나와야 한다.
경로가 변경되지 않는다면, shell profile(.zshrc) 의 환경변수 설정이 제대로 안된거니 찾아보고 설정해주자.

Cocoapods 설치

Ruby 를 정상적으로 설치했다면, 이제 gem install cocoapods 명령어로 설치가 가능하다.


모든것이 정상적으로 설치된 이후에는 arch -x86_64 명령어를 입력하지 않아도 된다.
arch -x86_64 멈춰~!


귀찮다면 homebrew 를 설치한 이후, https://github.com/sendbird/react-native-install-env-brew 레포를 클론 받은 뒤, 터미널에서 sh install-rn.sh 스크립트를 실행하면 자동으로 react-native 에 필요한것들을 설치할 수 있다.

profile
JavaScript, TypeScript and React-Native
post-custom-banner

0개의 댓글