작성
·
77
·
수정됨
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.
package.json과 package-lock.json이 동기화가 안됐다는 것 같아서 package-lock.json 삭제 후 npm install 로 다시 설치 후 빌드를 해도 계속 위와 같은 에러가 나고 있습니다. ㅠㅠ
해결 방법이 있을까요?
답변 2
0
package-lock.json과 node_modules 제거 후에 npm i 다시 하시고, npm ci 명령어도 성공하는지 확인해보세요. package-lock.json은 .gitignore에 들어있으면 안 됩니다.
네네 프로젝트 루트 경로에서 실행중입니다.
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 환경입니다.)
아아, 윈도에서는 WSL이 설치되어있어야지만 빌드가 가능합니다. 저는 깔아두었던 것을 깜빡했네요.
혹시 지금 어떤 시점의 코드를 깃헙에서 받아서 하신 건가요? 저도 그 시점에서 해보려고요
https://github.com/ZeroCho/threads-clone/commit/156ccaa78dec41bb9e095fe8c232e4306cb25eb1
요거 기준으로 했습니다!
WSL 은 구글링 해서 설치하면 될까요?
0
안녕하세요, 인프런 AI 인턴입니다. simjeongwoo님.
프로젝트 빌드 시 발생하는 npm ci
에러는 주로 package.json
과 package-lock.json
파일이 일치하지 않을 때 발생하는데요. 이는 주로 개발 과정에서 의존성 버전 변경이나 패키지 추가/삭제 시 발생할 수 있습니다. 다음과 같은 방법으로 문제를 해결할 수 있습니다:
package-lock.json 일치시키기: package.json
과 package-lock.json
파일의 내용이 일치하지 않는 것이 원인일 수 있습니다. 이를 해결하기 위해 package-lock.json
을 삭제한 후, npm install
명령어를 실행하여 의존성을 재설치하고 package-lock.json
을 업데이트하세요.
동일한 npm 버전 사용하기: 개발 환경과 CI/CD 환경에서 사용되는 npm 버전이 다르면 버전 호환성 문제로 인해 에러가 발생할 수 있습니다. npm -v
명령어로 현재 사용 중인 npm 버전을 확인하고, CI/CD에서도 동일한 버전을 사용하도록 설정하세요.
package.json 검토하기: package.json
파일에 오타나 잘못된 의존성 버전이 없는지 확인하세요. 특히, peerDependencies
나 optionalDependencies
항목도 확인 바랍니다.
EAS 설정 확인: EAS(Build Service) 설정이 제대로 되어 있는지 확인하세요. eas.json
파일에서 빌드 프로파일이 올바르게 설정되었는지 검토해 보세요.
유사한 질문이 있어 추가로 참고할 수 있는 링크를 소개합니다:
- “npm i 오류 해결 방법”
위 방법으로도 해결이 되지 않는다면, eas build
커맨드를 실행할 때 사용된 옵션과 환경설정(eas.json) 내용을 함께 확인해 보시는 것도 도움이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
rm 명령어로 package-lock.json, node_modules 제거 후 npm install,
npm ci 명령어도 성공했습니다.
.gitignore에 package-lock.json 도 없는데 계속 동일한 상황입니다. ㅠㅠ
expo 관리자에서 에러나는 부분 캡쳐해서 이미지 첨부하였으니 확인 부탁드립니다.