M1 맥북에서 개발환경 설정하고 RN 시작하기

GGomBee·2021년 12월 2일
1

React-native

목록 보기
1/4
post-thumbnail

인텔기반 맥북과 M1맥북의 세팅의 차이가 있어서 정리도 해놓을겸 포스팅을 하려한다.
이 포스팅은 M1 기준이다!

1. 기본 세팅

iTerm2 & homebrew 설치

먼저 iterm2를 설치해준다.
iterm2는 m1을 지원해주기 때문에 홈페이지에 들어가서 다운받으면 된다.

그리고 iterm2를 설치하면 application 폴더에 가서
우클릭 > get info (정보 가져오기)에서 rosetta로 열기를 선택한다.

그 후 터미널을 열어서 homebrew를 설치해준다.
(자세한 터미널 설정은 지난 터미널 세팅 포스팅 을 참고하면 더 자세히 확인할 수 있습니다!)

꼭 빼먹지말고 아래 명령어도 함께 실행하여 PATH 설정까지 해준다!

홈브루 설치가 완료 되었다면 홈브루를 통해 다른 프로그램들을 설치할 수 있다.
아래 명령어들을 참고하자!

# 1. 패키지 설치
# 1) 일반 패키지 설치
brew install {패키지 이름}
# 2) 응용 프로그램(cask) 설치
# 사실 요즘은 웬만하면 1)의 과정만으로도 cask 설치까지 다 진행해줍니다.
brew install {프로그램 이름} --cask
 
# 2. 패키지 삭제
# 1) 일반 삭제 (캐시가 남아있음)
brew uninstall {패키지 이름}
# 2) 완전 삭제 brwe remove {패키지 이름}
 
# 3. 설치된 패키지 목록 확인
brew list
 
# 4. 패키지 검색하기
brew search {패키지 명}

mas 설치

mas를 통해 어플리케이션 설치가 가능하다.
홈브루가 설치되어 있다면 아래 명령어를 통해 mas를 설치할 수 있다.

$ brew install mas

이용

# 1. 설치 (등록번호는 mas search를 통해서 확인할 수 있다.)
mas install {어플 등록번호} 
 
# 2. 삭제 
mas uninstall {어플 등록번호} 
 
# 3. 검색 
mas search {어플 이름} 
 
# 4. 설치된 어플 및 등록번호 확인 
mas list

카카오톡, 크롬, 비주얼 스튜디오를 기본적으로 설치하기 위해
아래 명령어를 한번 실행해준다.

$ echo -e 'cask "google-chrome" \ncask "visual-studio-code" \ncask "notion" \nmas "KakaoTalk", id: 869223134' > Brewfile 
$ brew bundle 
$ rm Brewfile

VSCode에서 command+shift+P 누른 후 shell path등록을 해주면 code . 명령어를 통해 VSCode를 실행할 수 있다.

자 이제 기본적인 환경 설정은 끝났고 React-Native 구동을 위해 필요한 세팅을 진행할 것이다.


2. React-Native 세팅

Xcode 설치

app store에서 Xcode와 Apple Developer를 다운받는다.

설치 되는 동안 아래 다른 프로그램들을 먼저 설치해준다 :)

Node & NVM 설치

먼저 노드를 설치해준다.
프로젝트마다 다른 노드버전을 사용한다면 노드 버전 관리가 가능한 nvm 설치를 해준다.
아래 명령어를 통해 터미널에서 설치가 가능하다.

$ brew install nvm

이 때 칩셋이 다른 M1 macbook 같은 경우 Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew) 라는 에러가 발생할 수 있다.
이때는 brew 앞에 arch -arm64를 같이 작성하여 설치를 시도한다.

# 설치
brew install [packege or program]

# Rosetta2 관련 에러 발생 시
arch -arm64 brew install [packege or program]

# 삭제
brew uninstall [packege or program]

설치가 완료되어도 명령어가 먹지 않는다.
이럴때는 bash의 경우와 zsh의 경우에 따라 설정법이 달라진다.
일단 zsh를 사용할 것이기 때문에 vi ~/.zshrc를 사용하여 편집기로 파일을 만들고 아래의 내용을 추가하였다.

# NVM
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

그리고 14버전을 설치해준다. 14가 m1에서 설치를 실패했다고 하는데 로제타를 사용하면 설치되는 게 맞는 것 같다.

Watchman 설치

watchman은 특정 디렉터리나 파일이 변경되면 지정한 동작을 실행할 수 있게 하는 프로그램이다.

RN은 디버그 모드에서, 소스코드가 변경될 때 마다 다시 컴파일해서 화면에 표시해주는데 (Hot reload) 이는 Watchman을 이용해 진행된다.

$ brew install watchman

위 명령어를 통해 watchman을 설치하고 --version을 통해 버전을 확인할 수 있다.

그동안 XCode 설치가 완료되었으면 Command Line Tools 선택해준다.

CocoaPods 설치

CocoaPods은 iOS 및 macOS, tvOS 등 애플 플랫폼에서 개발을 할 때, 외부 라이브러리를 관리하기 쉽도록 도와주는 의존성 관리 도구들이 있다. CocoaPods는 애플 플랫폼을 위한 의존성 관리도구의 일종이다.

애플 플랫폼에서 사용할 수 있는 의존성 관리 도구의 대표적인 예로는 [CocoaPods], [Carthage], [Swift Package Manager] 등이 있다.

sudo gem install cocoapods

위 명령어를 통해 설치하고 pod --version에 버전이 나오면 완료다!

가끔 이런 오류가 나는데..

xcode-select --install
sugo gem install -n /usr/local/bin cocoapods

이 명령어로 설치가 된다면 끝이다.

그런데 명렁어를 날리는 것도 오류가 난다!!!
그럴땐 Mac 시스템 업데이트....

+++ m1에서 간혹 빌드 오류가 발생하므로 ruby ffi도 함께 설치해준다.
+++ 빌드 실패 시 오류 참고 페이지

드디어 완료됬다ㅜㅜ

Rosetta 설정

다음은 Rosetta 설치한다.

iTerm2와 마찬가지로 XCode도 application > XCode 우클릭 > 정보가져오기에서 로제타로 실행을 클릭한다.

React-Native 설치

npm install -g react-native-cli
react-native --version

설치 후 버전까지 확인한다.

다 되었다면 드디어 프로젝트를 생성해보자!
React와 비슷하게 아래 명령어를 통해 프로젝트를 생성할 수 있다.

react-native init testProject

ios 폴더로 가서 pod을 설치하고

cd ios
pod install

을 한뒤 다시 루트 디렉토리로 돌아와 앱을 실행시키면 끝~!!!

cd ..
npm run ios

+++ 최근에는 로제타를 쓰지않아도 된다고 하니..!!
이렇게.. 반가울수가..


참고

본 게시글은 아래 글을 참조하였습니다.

profile
Stay Hungry, Stay Foolish! 겸손한 개발자 고은비입니다. 언제나 성장하기 위해 노력하며 유의미한 데이터로 사용자의 경험을 향상시키는 방법에 관심이 많습니다. 성장하고 싶어요!! 피드백은 언제나 환영입니다!

0개의 댓글