inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React Native with Expo: 제로초에게 제대로 배우기

github 코드를 받아서 빌드 생성시 에러가 납니다.

119

simjeongwoo

작성한 질문수 2

0

커서 자동완성 기능 때문에 놓치는 코드들이 있어서 github에서 특정 시점 코드를 받아서

npm install
eas build --platform android --profile development
를 통해 빌드를 생성하려는데, 빌드가 실패해서 expo 관리자에서 로그를 확인해보니 아래와 같은 에러가 계속 나고 있습니다.

npm error npm ci can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with npm install before continuing.

expo.dev_accounts_sunghoonm_projects_threads-clone2_builds_be0db47b-6733-4d66-93cb-275e5fbcfe92.png.webp

 

 

package.json과 package-lock.json이 동기화가 안됐다는 것 같아서 package-lock.json 삭제 후 npm install 로 다시 설치 후 빌드를 해도 계속 위와 같은 에러가 나고 있습니다. ㅠㅠ

해결 방법이 있을까요?

react react-native 하이브리드-앱 typescript expo

답변 2

0

제로초(조현영)

package-lock.json과 node_modules 제거 후에 npm i 다시 하시고, npm ci 명령어도 성공하는지 확인해보세요. package-lock.json은 .gitignore에 들어있으면 안 됩니다.

0

simjeongwoo

rm 명령어로 package-lock.json, node_modules 제거 후 npm install,
npm ci 명령어도 성공했습니다.

.gitignore에 package-lock.json 도 없는데 계속 동일한 상황입니다. ㅠㅠ

expo 관리자에서 에러나는 부분 캡쳐해서 이미지 첨부하였으니 확인 부탁드립니다.

0

제로초(조현영)

명령어 올바른 폴더에서 실행하고 계신거죠?

혹시 expo build --platform android --local 하는 경우에는 어떤가요?

0

simjeongwoo

네네 프로젝트 루트 경로에서 실행중입니다.

eas build --platform android --local 맞을까요?

expo ~로 실행 했을 땐
WARNING: The legacy expo-cli does not support Node +17. Migrate to the new local Expo CLI: https://blog.expo.dev/the-new-expo-cli-f4250d8e3421.

"build" is not an expo command -- did you mean prebuild?

See "expo --help" for the full list of commands.

eas ~로 실행 했을 땐
Unsupported platform, macOS or Linux is required to build apps for Android

라고 나옵니다.(window 환경입니다.)

0

제로초(조현영)

아아, 윈도에서는 WSL이 설치되어있어야지만 빌드가 가능합니다. 저는 깔아두었던 것을 깜빡했네요.

 

혹시 지금 어떤 시점의 코드를 깃헙에서 받아서 하신 건가요? 저도 그 시점에서 해보려고요

0

simjeongwoo

https://github.com/ZeroCho/threads-clone/commit/156ccaa78dec41bb9e095fe8c232e4306cb25eb1

요거 기준으로 했습니다!
WSL 은 구글링 해서 설치하면 될까요?

0

제로초(조현영)

흐.. 저는 eas build가 성공하네요 ㅠㅠ

image.png

 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. simjeongwoo님.

프로젝트 빌드 시 발생하는 npm ci 에러는 주로 package.jsonpackage-lock.json 파일이 일치하지 않을 때 발생하는데요. 이는 주로 개발 과정에서 의존성 버전 변경이나 패키지 추가/삭제 시 발생할 수 있습니다. 다음과 같은 방법으로 문제를 해결할 수 있습니다:

  1. package-lock.json 일치시키기: package.jsonpackage-lock.json 파일의 내용이 일치하지 않는 것이 원인일 수 있습니다. 이를 해결하기 위해 package-lock.json을 삭제한 후, npm install 명령어를 실행하여 의존성을 재설치하고 package-lock.json을 업데이트하세요.

  2. 동일한 npm 버전 사용하기: 개발 환경과 CI/CD 환경에서 사용되는 npm 버전이 다르면 버전 호환성 문제로 인해 에러가 발생할 수 있습니다. npm -v 명령어로 현재 사용 중인 npm 버전을 확인하고, CI/CD에서도 동일한 버전을 사용하도록 설정하세요.

  3. package.json 검토하기: package.json 파일에 오타나 잘못된 의존성 버전이 없는지 확인하세요. 특히, peerDependenciesoptionalDependencies 항목도 확인 바랍니다.

  4. EAS 설정 확인: EAS(Build Service) 설정이 제대로 되어 있는지 확인하세요. eas.json 파일에서 빌드 프로파일이 올바르게 설정되었는지 검토해 보세요.

유사한 질문이 있어 추가로 참고할 수 있는 링크를 소개합니다:
- “npm i 오류 해결 방법”

위 방법으로도 해결이 되지 않는다면, eas build 커맨드를 실행할 때 사용된 옵션과 환경설정(eas.json) 내용을 함께 확인해 보시는 것도 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

expo-blur 사용하면서 생긴 버그입니다.

0

113

3

router.navigate 동작이 달라졌을까요?

0

64

1

Toast 기능

0

76

2

onEndReached 함수가 바로 호출 되지 않는 이슈

1

63

1

expo push service에 관한 질문

0

79

2

ios에서 개발중이신 분들은

1

85

1

[질문아님] tabBarLabel 대신 tabBarShowLabel

1

58

1

Location.getCurrentPositionAsync({}); 에러

1

125

3

.

0

122

2

EAS preview 빌드 후 Device에서 카카오 로그인 브라우저가 안켜짐

0

120

2

폴더 구조 관련 질문

0

133

2

혹시 리액트네이티브 관련해서 좋은 참고서도 있을까요??

0

105

1

제로초님께서는 Nativewind는 사용안하지는지 궁금합니다.

1

272

2

.

0

89

2

eas build:configure 안되는데, "git"이 반드시 설치되어 있어야 하나요?

0

81

2

.

0

104

2

혹시 해당 강의 보면서 테스트용으로 사용할 맥북을 구매할 예정인데 어느정도 스펙 이상으로 사야 할지 의견 받아볼수있을까요?

0

73

2

.

0

114

1

.

0

120

2

기기에서는 네트워크 에러가 납니다.

0

101

2

빌드 문의드립니다.

0

73

1

.

0

126

2

.

0

83

2

Expo-blur unimplement 오류

0

106

3