카테고리 없음

clojurescript + reagent + krell 좌충우돌 초기셋팅 에러해결

chulphan 2022. 6. 23. 08:06

** 이 글은 두서없이 막 적어놓은 것..

 

*** https://github.com/vouch-opensource/krell/wiki/Reagent-Tutorial 을 보며 만나는 에러들을 해결해나가는 것 위주임

 

**** 링크의 첫 단계를 꼭 수행하고 다음 단계로 넘어가야함 (Create A React Native App 부분)

 

위 에러를 만나면 ~/.bash_profile 이나 ~/.zshrc 에 ANDROID_SDK_ROOT 경로를 $HOME/Library/Android/sdk 로 설정해준다

위 에러를 해결하기 위해서는 환경변수 PATH 에 $ANDROID_SDK_ROOT/platform-tools 를 추가해주면 된다

 

deps.edn 에 패키지 저장소 명시 후 Krell REPL 설치를 위한 Node.js 의존성들 설치를 위한 명령어 실행 후 나는 문제

clj -M -m cljs.main --install-deps

해결법: deps.edn 에 reagent/reagent 의 mvn/version 을 0.10.0 에서 1.1.0 으로 변경해준다

ㅇㅋ 

셋팅 다 하고 npx react-native start -> npx react-native run-android 명령어 실행 후 :react-native-tcp-socket 에러가 나는 경우에는

 

yarn add react-native-tcp-socket 명령어를 통해서 새로운 버전의 모듈을 설치해준다

주의할 점은 클로저에 필요한 의존성을 설치하기 위한 명령어를 다시 실행하지 않는다 (package.json 의 모듈 버전이 원복되어버림)

(새로운 버전의 react-native 를 사용하면서 gradle 을 채택했고 그 결과로 maven 에 5.6.0 버전의 react-native-tcp-socket 이 삭제돼서 나는 에러라고 하는데....흠.. 이해는 잘 되지 않는다

참고: https://github.com/vouch-opensource/krell/issues/148)

 

에러 났던걸 해결하고 나서 다시 순서대로 실행을 해보면

clj -M -m krell.main -co build.edn -c -r
npx react-native start
npx react-native run-android

아래와 같은 화면을 만날 수 있다

우여곡절 끝에 실행 완료!!

===========================그 뒤로 만난 에러들====================================

clojure.lang.ExceptionInfo: Unexpected error during REPL initialization #:cljs.repl{:error :init-failed}

=> 정확한 원인은 잘 모르겠지만 node_modules 폴더를 삭제 후 다시 yarn install 혹은 npm i 를 실행하면 된다