해당 글에서는 XCode를 실행하는 중에 발생하는 빌드 문제에 대해 해결방법에 대해 알아봅니다.
1) 문제점
💡 문제점 - XCode를 빌드하는 과정에서 아래와 같은 오류가 발생하였습니다.
Node found at: /opt/homebrew/Cellar/node@22/22.14.0/bin/node /Users/leejonghoon/Library/Developer/Xcode/DerivedData/EmotionButton-fsuawxxfittqjdhewknsvhbklaiz/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/hermes-engine.build/Script-46EB2E0002F110.sh: line 9: /opt/homebrew/Cellar/node@22/22.14.0/bin/node: No such file or directory Command PhaseScriptExecution failed with a nonzero exit code
- 해당 문제의 경우는 XCode내에서 Node@22 경로를 찾지 못하는 오류입니다. 이 경우에는 homebrew를 업데이트 한 이후에 발생하였습니다.
2) 해결방법
💡 해결방법
- 현재 버전이 모두 안 맞는 문제가 발생하고 있기에 동일한 node 버전으로 모두 통일을 합니다.
1. Node의 실제 경로 확인
💡 Node의 실제 경로 확인
- 아래의 명령어를 입력해보면 두개의 경로가 충돌됨을 확인할 수 있습니다. - 첫번쨰 터미널에서 사용하는 node의 경우는 .nvm을 바라보고 있습니다. 그리고 xcode내에서는 homebrew의 node 버전을 보고 있는 문제입니다. 그렇기에 최종적으로 node@22버전으로 일괄 맞춥니다.
# 터미널에서 사용하는 Node
which node
# Xcode가 사용하는 Node
ls -l /opt/homebrew/bin/node
분류
버전
Xcode에서 바라보고 있는 node 버전
22.21.1 버전
nvm의 node 버전
20.19.2 버전
homebrew의 node 버전
25.0.1 버전
💡 아래와 같이 XCode에서 실행된 버전과 brew node 버전이 불일치함을 확인할 수 있습니다.
// Xcode에서 실행된 버전
/opt/homebrew/Cellar/node@22/.../bin/node
// brew NODE 버전
/opt/homebrew/Cellar/node/25.1.0_1/bin/node
2. nvm을 이용하지 않고 homebrew에서 관리하는 해결방법
💡 nvm을 이용하지 않고 homebrew에서 관리하는 해결방법
- ZSehll에서 nvm의 우선순위를 먼저주지 않고 nvm을 삭제하고 homebrew 버전으로 맞추는 방법으로 수행합니다
2.1. ZSell에서 nvm 우선순위를 주석처리합니다
💡 ZSell에서 nvm 우선순위를 주석처리합니다
- 아래와 같이 ZSell에 접속하고 아래와 같이 주석을 수행한뒤 반영을 합니다.
vi ~/.zshrc
source ~/.zshrc
2.2. nvm 자체를 삭제합니다
💡 nvm 자체를 삭제합니다
- brew로 관리를 위해서 nvm을 삭제하였습니다.
rm -rf ~/.nvm
2.3. brew node만 사용하도록 설정합니다
💡 brew node만 사용하도록 설정합니다 - 아래와 같이 기존의 node 버전을 삭제했고, node@22 버전을 맞추었습니다.그리고 link로 node22를 연결하였습니다.