발단 :
지난주 금요일 그램의 메인보드가 나갔다. 돌아오는 월요일이 기업협업이었다. 서비스센터에 맡긴 결과 월요일에 수리부품이 도착한다고 전달받았다. 핑계삼아 mac m1 pro를 샀다. pro를 산 이유는 16인치 화면의 mac이 갖고 싶었기 때문이다. 아니 개발시 윈도우는 뭐만 하면 블락되는데 맥은 권한문제를 많이 겪지 않아 좋다고 하더라구요. 동기 중 나 포함 2명만 윈도우였다.. 나머지 다 맥북이야ㅜ
전개 :
주말에 맥북 긴급 개발환경 세팅을 진행했다.
iterm2 -> homebrew -> mysql 드라이버 -> nvm -> node => git repository에서 클론을 받아 package.json에 있는 패키지들을 설치하기 위해 npm install을 시전했다.
위기 :
npm i를 시전했는데.. dbmate up이 안된다.
migration파일도 제대로 있고 .env 세팅도 정상적으로 됐다. 구글링 6시간 했다. 초조해지기 시작했다. 경로 문제인 것 같다. 웹상의 경로 관련 해결책들을 사용했지만 계속 안됐다.
절정 :
일요일에 함께 기업협업 나간 팀원에 현황 공유했다. npm install이 안돼요. 월요일에 봐주신다고 했다. 원인을 찾지 못해 이대로라면 협업에 심각한 지장이 갈 것 같았다. 사수에게 도움을 요청했다. npm/node 버전 문제일 수 있다는 의견을 주셨다. 버전을 맞춰보고, npm cache도 삭제하고, 경로도 수정해봐도 동일했다.
팀활동에 지장을 주지 않도록 빨리 해결해야 한다고 생각해서 양해를 구하고 1시간 일찍 퇴근했다. 멘토에게 도움을 요청했다. 개발환경 세팅 시 무언가 꼬인 것 같다고 의견을 주셨다. 공장초기화 했다. 동일했다.
그 와중에 그램은 수리가 하루 늦어진다고 했다. 양해를 구했지만 팀활동에 적극적으로 참여하지 못하고 에러를 해결하는데 온 신경을 쏟고 있어 너무 미안했고 압박감이 들었다.
해결 :
동기 중 한 분이 애초에 dbmate는 지역설치(특정 프로젝트 디렉토리에서 npm i)하는 것이 아닌 것 같다는 의견을 주셨다. 홈페이지에서도 전역설치를 권장하고 있었다.
dbmate를 전역설치했다. 이러면 package.json에 코드에서 require하지도 않는 dbmate를 설치할 필요가 없었는데 지금까지 프로젝트를 할 때마다 npm install dbmate를 하고 있었다. 즉 사진의 dbmate 1.0.3이 필요없는 것이다. 그리고 만약 설치를 했어도 devDependencies에 해야 했다.

성장한 포인트 :
그동안 문제가 없었다는 이유로 무지성으로 패키지를 마구 설치하지 말고 아래를 고민하면서 신중히 설치해야겠다.
(1) 지역설치가 필요한지, 전역설치가 필요한 패키지인지
(2) 배포해야하는지 개발환경에서만 사용할 패키지인지
동기사랑 나라사랑. 도움주신 분들께 감사인사 올립니다. 공유와 집단지성의 중요성을 다시한번 깨달았다.
문제를 끝까지 해결하려는 자세는 정말 중요하다. 문제는 풀라고 있는거다.
긴급한 환경변화는 심각한 부작용과 스트레스를 낳을 수 있습니다.