Issue Image
대략 다음과 같은 에러 로그를 볼 수있다.
✖ Installing CocoaPods dependencies (this may take a few minutes)
error
[!] Invalid `Podfile` file: [!] /usr/local/bin/node -p require.resolve(
"react-native/scripts/react_native_pods.rb",
{paths: [process.argv[1]]},
) /Users/user/Documents/sources/AwesomeProject/ios
node:internal/modules/cjs/loader:1080
throw err;
^
Error: Cannot find module 'react-native/scripts/react_native_pods.rb'
Require stack:
- /Users/user/Documents/sources/AwesomeProject/ios/[eval]
at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
at Function.resolve (node:internal/modules/cjs/helpers:127:19)
at [eval]:1:9
at Script.runInThisContext (node:vm:123:12)
at Object.runInThisContext (node:vm:299:38)
at node:internal/process/execution:79:19
at [eval]-wrapper:6:22
at evalScript (node:internal/process/execution:78:60)
at node:internal/main/eval_string:28:3 {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/Users/user/Documents/sources/AwesomeProject/ios/[eval]' ]
}
Node.js v18.17.1
.
# from /Users/user/Documents/sources/AwesomeProject/ios/Podfile:2
# -------------------------------------------
# # Resolve react_native_pods.rb with node to allow for hoisting
> require Pod::Executable.execute_command('node', ['-p',
# 'require.resolve(
# -------------------------------------------
✖ Installing CocoaPods dependencies (this may take a few minutes)
error Looks like your iOS environment is not properly set. Please go to https://reactnative.dev/docs/environment-setup?os=macos&platform=android and follow the React Native CLI QuickStart guide for macOS and iOS.
info Run CLI with --verbose flag for more details.원인
- 참조 할 수 있는 node_modules 가 없어서 생기는 에러이다.
- npm으로 한다면 볼 일 없는 문제지만 yarn 4버전으로 시작하다보니 발생하는 문제
- 참조하고자하는 node_modules이 생성되지 않아서 생긴 문제이다.
해결
yarn set version berry
- yarn set version berry를 root project 터미널에 입력
- 그후
.yarnrc.yml이 생성된다. - 해당 파일에서 nodeLinker가
nodeLinker: node-modules로 되어있는지 확인하고 없다면 추가해주면 된다.
nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-4.6.0.cjs토막 정보
yarnrc는 yarn의 내부 설정을 관리하는 파일이다.
- yarnPath: yarn을 프로젝트 내에 설치하는데 가장 선호되는 방법으로 모든 팀원이 같은 yarn version을 사용할 수 있도록 해준다.
- nodeLinker: Node 패키지를 설치하는데 어떤 링커를 사용할지 명시하는 속성. (
pnp,pnpm,node-modules가능)
출처: https://nukw0n-dev.tistory.com/37 [찐이의 개발 연결구과:티스토리]