일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- github
- React
- 프로세스
- 안드로이드 디자인 패턴
- db
- Operating System
- 데이터베이스
- reactnative
- 개발
- 안드로이드
- 앱 개발
- 앱
- MVVM
- 리액트네이티브
- 코틀린
- 메모리
- Kotlin
- OS
- cs
- 운영체제
- 디자인패턴
- 스레드
- 리액트
- 앱개발
- 디자인 패턴
- Android
- Database
- 액티비티
- 안드로이드 개발
- CS지식
- Today
- Total
Tech Log
[React Native] M1 맥에서 React Native 개발 환경 구축하기 본문
평소에 그냥저냥 쓰고 있던 LG 그램이 갔다. 윈도우 11로 업데이트 하자마자 상태가 많이 안좋아졌다.
따라서 평소에 Mac OS를 쓰고 싶었기 때문에 그냥 맥북을 사기로 했다. 개발하는데 있어 Apple Silicon에 대한 두려움이 있었으나, 그렇다고 인텔 맥북을 살 수는 없었기에 M1 맥북을 샀다.
맥북을 샀으니 개발 환경도 새로 구축해줘야 했다. 만들어줘야 할 환경 중 하나가 리액트 네이티브였다. M1에서 리액트 네이티브를 하려면 제약이 많아, 개발 환경 만들기가 어렵다는 얘기를 많이 들었다. 비장한 각오를 다지며 개발환경 구축에 돌입했다.
단계가 많아 목차로 정리해보았다.
- Xcode 설치
- iTerm2 설치
- oh-my-zsh 설치
- homebrew 설치
- node 설치
- cocoapods 설치
- watchman 설치
- Xcode Tools 설정
- React-Native 설치
1. Xcode 설치
Xcode 설치는 App Store에서 쉽게 설치할 수 있다. 용량이 커서 그런지 설치 시간이 오래 걸리니, 이걸 설치하는 동안 다른 작업을 하고 있는 게 좋다.
2. iTerm2 설치
iTerm2는 터미널 환경을 최적화하여, React-Native 설치를 원활하게 하기 위해 설치해주었다. 이것을 설치하면, 다양한 테마를 적용하여 터미널을 커스터마이징할 수도 있다. React-Native 설치는 주로 터미널을 활용하기 때문에 iTerm2를 설치하면 좋을 것이다.
https://iterm2.com/ 에서 설치할 수 있다.
해당 사이트에 접속하면 Download라고 크게 써있다. 그것을 클릭해주면 된다.
dmg파일이 설치되는 데, 해당 파일을 다시 클릭하여 설치하면 응용 프로그램에 설치가 된다.
그리고 Finder에서 설치한 iTerm2를 복제해서 복사본을 만들어준다.
iTerm2 복사본을 우클릭하여 정보 가져오기를 누른다.
위 사진과 같이 Rosetta를 사용하여 열기를 체크해준다.
이와 같이 해주는 이유는, 기존의 터미널은 Apple Silicon에서 작동할 수 있도록 하고 iTerm2는 Rosetta로 돌려 아직 호환이 안되는 것을 다루기 위함이다. iTerm2를 복제하지 않고 기존의 터미널과 같이 써도 되지만, 나는 iTerm2를 복제하여 하나는 Apple Silicon용, 나머지는 Rosetta용으로 만들어놨다.
3. oh-my-zsh 설치
굳이 설치 안해줘도 되는데 유용한 기능이 있다고 해서 일단 설치했다.
iTerm2 복사본을 열고 아래와 같이 입력해준다.
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
oh-my-zsh를 설치해주면 위와 같은 화면이 나온다.
4. homebrew 설치
homebrew는 맥에서 다양한 도구들을 설치할 수 있게 해주는 패키지 매니저이다. homebrew를 사용하면 맥에서 간단하게 필요한 패키지를 설치할 수 있다.
위 링크로 들어가서 homebrew 설치하는 코드를 복사한 후, iTerm2에서 실행해준다.
homebrew 설치 확인은 아래 코드로 할 수 있다.
brew --version
5. node 설치
react-native는 Javascript이므로 Javascript의 런타임인 Nodejs가 필요하다.
node는 아래 코드를 통해 설치할 수 있다.
brew install node
아래 코드를 통해 설치 확인한다.
node -v
node를 설치하면 node package manager인 npm도 같이 설치된다.
따라서 아래 코드를 통해 npm도 확인할 수 있다.
npm -v
6. cocoapods 설치
cocoapods는 ios 개발을 할때 꼭 필요한 의존성 관리자이다.
아래 코드를 통해 설치해준다.
sudo gem install cocoapods
여기서 간혹 에러가 나는 경우가 있다.
나는 아래와 같은 에러가 났었다.
cocoapods error failed to build gem native extension
위 에러에 대해 찾아보았고, Applie Silicon M1 맥북의 경우 위 에러가 발생하는 것 같았다.
iTerm2를 Rosetta로 실행했음에도 위와 같은 에러가 나타나는 경우 아래와 같이 해결한다.
sudo arch -x86_64 gem install ffi
arch -x86_64 pod install
참고 : https://github.com/CocoaPods/CocoaPods/issues/10518
cocoapods 설치 확인
pod --version
7. watchman 설치
Watchman은 특정 폴더나 파일을 감시하다가 변화가 일어났을 때, 특정 동작을 실행하도록 하는 역할을 한다.
react-native의 경우, 소스코드의 추가, 변경이 발생하면 다시 빌드하기 위해 Watchman을 사용한다.
아래 코드를 통해 설치한다.
brew install watchman
버전(설치) 확인
watchman --version
8. Xcode Tools 설정
위 과정들을 모두 해주었다면, Xcode 설치도 완료가 되어가고 있을 것이다.
Xcode 설치가 완료되었다면, Xcode를 열어 몇 가지 설정을 해줘야 한다.
Xcode를 열어서 설정하기 전, 프로젝트를 아무거나 선택하거나 프로젝트가 없으면 만들어서 아무 프로젝트나 연다.
Preferences를 클릭하여 설정을 시작한다.
에뮬레이터가 아닌, 실제 디바이스에 설치하여 개발하는 경우에는 iCloud 계정이 필요한 경우가 있다.
따라서 Accounts에서 계정을 추가해두도록 한다.
Locations에서 Command Line Tools가 비어있는 경우, Xcode x.x(버전명)을 선택해준다.
Components에서 최신 버전 iOS 시뮬레이터를 설치해준다.
9. React-Native 설치
마지막 단계이다.
아래 코드를 iTerm2에서 실행시켜 맥에 react-native-cli을 설치한다.
npm install -g react-native-cli
설치 확인은 아래와 같다.
react-native --version
원하는 디렉토리에서 아래 코드를 통해 프로젝트를 생성한다.
react-native init 생성할 프로젝트명
설치 후에, 아래 코드로 iOS 개발에 쓰이는 PodFile을 열어준다.
open 프로젝트명/ios/PodFile
PodFile을 열면 iOS 플랫폼 버전을 확인할 수 있다.
아래와 같이 적혀있었다.
platform :ios, '11.0'
플랫폼 버전을 위와 같이 11.0으로 맞춰줘야 한다. 10.0인 경우 나중에 에러가 나는 경우가 있다고 한다.
Xcode에서 이전 단계에서 만들어놓은 프로젝트를 열어 플랫폼 버전을 확인해야 한다.
프로젝트명.xcworkspace 로 프로젝트를 연다. 확장자를 잘 확인한다. .xcodeproj 이 아닌지 확인한다.
위와 같이 Finder로 직접열어도 된다.
왼쪽 상단에 project명을 눌러서 Deployment Target이 아까 PodFile에서 확인한 플랫폼 버전(11.0)과 동일한지 확인한다.
TARGETS에서 프로젝트명을 클릭하여 Deployment Info도 11.0으로 버전을 맞춰준다.
실행 방법
실행 방법은 두 가지다.
1) Xcode에서 빌드해서 실행
2) iTerm2에서 프로젝트 디렉터리로 이동하여 실행
1)의 경우 아래 에뮬레이터 왼쪽의 실행 버튼을 클릭하여 실행할 수 있다.
위 화면이 나오면 성공이다.
2)의 경우 iTerm2에서 프로젝트가 생성된 디렉터리로 이동하여 아래의 코드를 실행시켜준다.
react-native run-ios
많은 단계들이 있었지만 여러 블로그 글의 도움을 받아 생각보다는 쉽게 구축할 수 있었던 것 같다!
참조
'React Native' 카테고리의 다른 글
[React Native] iOS 폰트(Font-Family) 적용하기 (0) | 2022.06.06 |
---|---|
scrollView / FlatList (0) | 2022.01.20 |
Component (The Basics) (0) | 2021.10.04 |