본문 바로가기

React-Native

React-Native 안전하게 프로젝트이름 변경하기

반응형

최근 React-Native를 공부하던 중, 프로젝트이름을 변경해야할 일이 있어 프로젝트명을 변경했었는데요,

React-Native는 SpringBoot와 달리 프로젝트명 변경이 쉽지 않더군요,,

수 많은 앱이름을 참조하는 소스들과 설정파일이 얽혀 있어서 이를 수동으로 바꾼다는 건 불가능에 가깝습니다!

포스팅을 따라 

$ react-native-rename "프로젝트명"

으로 입력해서 순조롭게 진행되는 듯 했으나, 그 이후에도 android에서 gradle을 build할 때, kotlin 버전이 안맞는 다던지 매끄럽지 못했는데요,

그래서 아래에 프로젝트 이름을 변경하면서 안전하게 에러없이 변경하는 법을 정리하려고 합니다.

시작전엔 반드시 백업을 해두시길 바랍니다!

 

1. 프로젝트명 변경

$ react-native-rename "프로젝트명"

여기까지만 진행해도 build나 실행은 되지만, android나 ios에 소스파일 package명에 여전히 이전 프로젝트명이 남아있습니다.

저는 찜찜해서 android와 ios 디렉토리를 제거후 진행했습니다.

(사실 사서 고생한 듯 합니다,,)

============================================================================================

 

2. $(프로젝트_최상위경로)/android, $(프로젝트_최상위경로)/ios 디렉토리 제거

 

3. $(프로젝트_최상위경로)/android, $(프로젝트_최상위경로)/ios 디렉토리 초기생성

$ npm add react-native-eject
$ react-native eject

 

4. android 빌드

$ ./gradlew clean build

w: Detected multiple Kotlin daemon sessions at build/kotlin/sessions 에러 발생시,

gradle.properties 에서 jvm 메모리를 2gb이상으로 늘려줍니다. (저는 기존 2gb였는데, 4gb로 늘려주었습니다.)

org.gradle.jvmargs=-Xmx4096m

그리고 실행중인 kotlin deamon을 정지시키기 위해 아래 명령어로 중단합니다.

 

$ ./gradlew -stop

Cannot choose between the following variants of cohttp://m.facebook.react:react-native:0.71.0-rc.0: 발생시,

build.gradle에서 아래코드를 추가하여 node_modules에 정의된 react-native 버전을 명시합니다. 

allprojects {
    repositories {
		...
        google()
        exclusiveContent {
            filter {
                includeGroup "com.facebook.react"
            }
            forRepository {
                maven {
                    url "$rootDir/../node_modules/react-native/android"
                }
            }
        }
        ...
    }
}

 

프로젝트이름 변경후, 빌드를 정상화하기까지 꼬박 하루를 썻네요,, ㅎㅎ

이 포스팅을 보시는 분들은 소중한 시간 아끼시길 바랍니다:)

반응형