인텔기반 맥북과 M1맥북의 세팅의 차이가 있어서 정리도 해놓을겸 포스팅을 하려한다.
이 포스팅은 M1 기준이다!
먼저 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를 설치할 수 있다.
$ 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 구동을 위해 필요한 세팅을 진행할 것이다.
app store에서 Xcode와 Apple Developer를 다운받는다.
설치 되는 동안 아래 다른 프로그램들을 먼저 설치해준다 :)
먼저 노드를 설치해준다.
프로젝트마다 다른 노드버전을 사용한다면 노드 버전 관리가 가능한 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은 특정 디렉터리나 파일이 변경되면 지정한 동작을 실행할 수 있게 하는 프로그램이다.
RN은 디버그 모드에서, 소스코드가 변경될 때 마다 다시 컴파일해서 화면에 표시해주는데 (Hot reload) 이는 Watchman을 이용해 진행된다.
$ brew install watchman
위 명령어를 통해 watchman을 설치하고 --version을 통해 버전을 확인할 수 있다.
그동안 XCode 설치가 완료되었으면 Command Line Tools 선택해준다.
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 설치한다.
iTerm2와 마찬가지로 XCode도 application > XCode 우클릭 > 정보가져오기에서 로제타로 실행을 클릭한다.
npm install -g react-native-cli
react-native --version
설치 후 버전까지 확인한다.
다 되었다면 드디어 프로젝트를 생성해보자!
React와 비슷하게 아래 명령어를 통해 프로젝트를 생성할 수 있다.
react-native init testProject
ios 폴더로 가서 pod을 설치하고
cd ios
pod install
을 한뒤 다시 루트 디렉토리로 돌아와 앱을 실행시키면 끝~!!!
cd ..
npm run ios
+++ 최근에는 로제타를 쓰지않아도 된다고 하니..!!
이렇게.. 반가울수가..
본 게시글은 아래 글을 참조하였습니다.