이전에 올렸던 게시글에서 해결한 줄 알았으나 에러가 재발생함에 따라 다시 일주일 삽질해서 정보를 수정합니다요...
자... 이전 블로그에서
아래 에러가 나면 맥을 밀어버리고 Rosseta를 사용하지 않고 RN 환경을 만드세요 !
- error
-- Command ValidateEmbeddedBinary failed with a nonzero exit code
라고 했던 바보멍충이가 바로 접니다.
근본적인 해결은 하지 못했고 너무 무식(?)하다면 무식한 방법이었던 것 같다.
그 끔찍한 맥북 초기화 후 RN 재설치라는게...
재택업무를 해야하는 상황에서 항상 빌드가 잘 되는지 불안감과 초조함에 시달려 재택 업무 전날 밤에 테스트를 해보고 잔다.
재택을 마음먹고 당연히 잘되고 잘고쳐졌던 xcode 저 에러가 다시 나왔다.
실제로 식은땀 났음
여튼 ! 굳게 마음을 먹고 책임감 있게 다시 천천히... 함께 알아봅시다...
이 에러가 정확히 왜 어떻게 어디서 나오는지 아직도 그건 정말 모르겠다. 하지만? 해결을 해본 사람으로써 깃발을 들고 앞으로 나가보겠다.
먼저 앱이 있는 xcode를 켜고 Project Navigation에 앱을 클릭한다.
가운데 있는 탭들
General, Signing & Capabilities, Resource Tags, Info, build Settings, Build Phases, Build Rules
중에 우린 Build Phases에 들어가서 최상단 Target Dependencies에 있는 2가지 녀석들을 잠시 지워줄 것이다.
지금 겪고 있는 Command ValidateEmbeddedBinary failed with a nonzero exit code 에러를
하단 탭에서 error only로 해서 자세히 보면
에러 메세지 옆에 에러 더보기가 있다. 그걸 눌러주면 어떤 실행파일에서 에러가 나왔는지 확실히 알 수 있다.
거기서 지레짐작이었지만 watch.app에서 나왔기 때문에
지금부턴 Target Dependencies에 있는 watchApp.app, widgetExtension.appex 파일을 Target Dependencies에서 지워줄 것이다.
어차피 다시 첨부할 수 있으니 걱정은 ㄴㄴ
그리고 한가지 더 지워줘야하는데 embed app extensions에 보면 target이 1개 있을 것이다. 그것도 지워주자
내 경우엔 widgetExtension.appex이 존재하고 있었다.
총 3가지를 먼저 삭제해주고 다시 build를 해보자. 그럼 indexing 하는 과정에서 좀 더 길어지고 사람을 불안하게 만든다.
하지만 ValidateEmbeddedBinary에러가 아닌 infoPlist 버전이 안맞는다와 비슷한 종류의 자주보던 에러가 나왔다.
충분히 rm -rf node_modules, clean build project, yarn react-native clean 등등 다 해보면 좋겠지만
맥북을 포맷을 하고도 사라지지 않았던 에러이기 때문에 좀 더 신성한 마음으로
rm -rf project를 진행하고 다시 clone을 받았다.
여기서 물론 아까 Target Dependencies로 돌아가서 dependencies가 제대로 있나 확인해보고 없다면 추가를 해줘야함 !!
git clone을 받고 indexing이 굉장히 길게 진행이 됐고 Signing & Capabilities에 check를 한 뒤
clean build project를 하고 build를 다시 진행해봤다.
거의 다 됐을 때....!
error: index.js: ENOENT: no such file or directory, uv_cwd
이건 그냥 yarn start를 하려했는데 cache가 너무 많이 쌓여있으니 cache 좀 reset하고 하라는 그런 말이라고 찾았다.
하고 다시 빌드를 하니...
진짜 이 에러 하나로 4주를 삽질하면서 똑같은 장면도 많이 보고 굉장히 내심 힘들어했다.
위에 글을 쓴 것처럼 좀 내 멋대로 쓰긴 했지만서도 굉장히 좋은 경험이었고 슬슬 xcode에러가 크게 두렵지가 않다.
이번에 당한게 정말 세상 말도 안되는 왜 나는지도 모르겠는 에러였고... 많이 힘든만큼 많이 성장했으리라 믿는다.
내가 한 방법으로 안되는 사람도 있고 되는 사람도 있을텐데 정말 무운을 빕니다.
정말정말 23년도 제일 힘들었고 주변에 물어볼 사람도 없었지만 가장 기억에 남는 에러 한 줄일 것 같다.
그럼 이만 다들 얼른 코딩하려 가세요
멋지네요