-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
package 버전 관리의 중요성 및 논의거리 #50
Comments
소름이네요,,,, 제가 생각하기엔 베이스 코드 작성은 그렇게 오래 걸리진 않으므로 가장 최신으로 설정하는 것이 최고 일 것 같습니다ㅎㅎㅎ |
@jeongdaeun98 |
아녜요ㅎㅎ 민수님도 이슈처리 하시느라 엄청 고생하셨어요!! 넵 그러겠습니다 :) |
정말 중요한 이야기가 나왔네요. 💯
|
|
@jeongdaeun98 |
https://github.com/kirill-konshin/next-redux-wrapper/releases |
학교 일정 때문에 바빴다 보니, 이슈를 이제야 확인하고 이해했습니다. ㅎㅎ 당장 어제 새 버전이 배포되고 기존 버전이 deprecated되다니.. 정말 신기하고 재밌습니다 ㅎㅎ |
아침에 눈을 뜨고 어제 그림님과 민지님과 했던 회의를 정리하기 전에, 올라와 있는 다은님의 PR부터 리뷰를 좀 하고 가려고 해당 branch로 checkout을 했습니다.
그때까지만 해도 참 평화로운 아침이었는데..문제의 발단
커밋 로그를 어느 정도 보다가 실행시켜보려고 npm install 명령어를 쳐서 package들을 설치 후 실행을 했습니다.
localhost:3000 으로 접근하려고 하자 TypeError가 뜨면서 실행이 안됐습니다.


뭐지 싶어서 다은님께 DM을 보내서 내 로컬에서만 안되는건지 여쭤봤습니다.
저만 안되는 것이었고, 다은님과 함께 이 에러를 해결하기 위해 삽질을 시작했습니다.
문제 원인 찾아 삼만리..
You are using legacy implementaion. Please update your code: use createWrapper() and wrapper.withRedux(). TypeError: Cannot read property 'getState' of undefined
에러를 읽어보니 createWrapper랑 withRedux를 사용하라는 맥락이었습니다.근데 구글링을 해보니
use createWrapper() and wrapper.withRedux()
에 대한 레퍼런스가 없었습니다.그리고 다은님은 실행이 잘되는 코드와 똑같은 코드를 실행한다는 생각에 이 에러를 깊게 생각해보지 않았습니다.
젠장.그래서 에러 메세지를 사뿐히 패스하고 나름의 원인을 파악하기 위해 오류가 발생하기 시작한 커밋 위치를 찾아보았고, redux 관련 베이스 코드가 작성된 시점부터 에러가 나는 걸 확인했습니다.
다은님과 저는
코드 문제는 아닌것 같고 react-redux의 버전 문제가 아닐까요?
.env 디렉토리에 뭔가 잘못 된게 아닐까요?
등등 나름의 추측들을 하며 여러 시도를 했습니다.하지만 결국 해결할 수 없었고 다시 에러 메세지를 구글링 하기 시작했습니다.
저는 도대체 createWrapper랑 withRedux가 어디있는거냐면서 설치되어 있는 라이브러리를 뒤지기 시작했습니다. 그 둘은
next-redux-wrapper
라이브러리에 있었습니다. 근데 우리 프로젝트에서는 withRedux만 사용하고 있었습니다.next-redux-wrapper
github repo에 들어가 readme 파일을 보니 createWrapper랑 withRedux를 같이 사용하는 예제가 작성되어 있었습니다. 순간 느낌이 왔습니다..ㅎㅎ제발
next-redux-wrapper
업데이트가 최근에 됐길 바라면서 npmjs에 접속해 버전 로그를 확인해봤습니다.확인 결과 바로 어제인 2020.5.12 오전 06:18:32에 새 버전이 배포되어 있었습니다.
소름..그리고 readme 파일도 어제 업데이트가 되어 있었네요. ㅎㅎㅎㅎnext-redux-wrapper
를 지우고 6.0.0-rc.7 버전으로 다시 설치했더니 해결됐습니다.결론 및 논의할 것
1. package-lock.json, yarn.lock
제 로컬에 어제 업데이트 된 버전이 설치된 이유는
첫 번째로 패키지의 의존성 트리를 생성하기 위한 package-lock.json이나 yarn.lock 파일이 없었고,
두 번째로 package.json 파일의 dependencies에 next-redux-wrapper 버전이 ^6.0.0-rc.7로 되어 있었고 앞에
^
이 붙으면 6.x.x 버전 중 최신버전을 설치하게 되기 때문이었습니다.아마 다른 분들도 node_modules 삭제하고 패키지 다시 설치하면 같은 에러가 뜰겁니다!
(아마도..?)그래서 보니깐 npm과 yarn 중 사용하는게 다들 다른 것 같던데 우선 npm을 쓸 지, yarn을 쓸지 통일 하는 게 좋을 것 같고, 그에 맞는 package-lock.json이나 yarn.lock도 커밋할 때 같이 올리는 것이 좋을 것 같다고 생각합니다.
2.
next-redux-wrapper
사용할 버전 논의버전 업데이트를 해서 사용할 지, package.json 파일의 dependencies에 next-redux-wrapper 버전에서 ^를 빼고 정확히 6.0.0-rc.7 버전을 사용할 지 정해야 할 것 같습니다.
지금은 일단 버전 업데이트를 해버리면 베이스 코드를 다시 작성해야 하니 6.0.0-rc.7 버전을 사용하는 게 어떨까 싶습니다.
의견 부탁드립니다~!
The text was updated successfully, but these errors were encountered: