reactotron-recoil-plugin 설치후 다음과 같은 에러가 발생해, --force 구문으로 해결하고 진행했었다. (이미 설치된 recoil의 버전과 reactotron-recoil-plugin 에 필요한 recoil 버전이 달라 발생한 오류이다.)
main 머지전 git에서 동일한 오류가 발생했고, force 로 진행한 부분을 해결하기로 했다.
reactotron-recoil-plugin 는 devDependencies 에 설치된 라이브러리인데, 깃허브에서 npm install --omit=dev 를 사용하면 사용하면 어떻까. 다음은 GPT의 대답이다.
👍빌드 속도 최적화:
GitHub Actions와 같은 CI/CD 환경에서는 빠른 빌드 속도가 중요합니다. --omit=dev 옵션을 사용하여 개발 의존성 패키지를 설치하지 않으면 빌드 시간을 단축할 수 있습니다.
👎로컬 개발 환경과의 일관성 문제:
로컬에서 개발할 때와 CI/CD 환경에서의 패키지 설치가 일치하지 않을 수 있습니다. 이는 개발자가 로컬에서 테스트할 때 예기치 않은 문제를 발생시킬 수 있습니다.
사실, git에서 npm install --omit=dev를 사용한다고 해도, 개발시에는 --force 또는 --legacy-peer-deps 를 쓰게 된다. 그러면 위에서 언급된 것처럼 패키지 설치가 일치하지 않아 또 다른 문제들이 발생하게 된다.
--force : package-lock.json파일에 몇가지 의존 버전들을 추가
--legacy-peer-deps : peerDependency가 맞지 않아도 충돌을 무시하고 일단 설치
reactotron-recoil-plugin 를 함께 사용했을 때와 reactotron-react-native 만 사용했을 때를 한번 비교해보자.
같은 스토리를 조회(GET /stores/93-1252) 하는 액션이 실행되었을 때, API 요청/응답값은 동일하게 확인할수 있지만, recoil의 액션, state는 알수 없다.
우선,
api 요청이라도 확인할수 있으니 reactotron-react-native 만 설치하고, 나중에 개발시 recoil의 상태값이 필요한 경우에만 reactotron-recoil-plugin 를 추가하자.