개발/http, server

[AWS | Lambda] 파일을 못찾는 에러 Cannot find module 'index'

prpn97 2023. 11. 1. 21:21

발단

 

간단하게 node.js로 디스코드 웹훅을 만들고 있는데, index.mjs파일을 못찾는 에러가 있었다. 다른 디렉토리 하나 없이 node modules와 package.json, index.mjs밖에 없는데 왜 경로를 못찾지..? 

해결과정

1. 의심가는 부분은 먼저 __MACOSX 디렉토리였다.

맥의 finder에서 압축을 하면 자동으로 생기는 디렉토리인데, 이거때문에 루트보다 한단계 안에서 원하는 파일들이 나왔다. 그런데 그렇다고 해도 어차피 상대경로라 문제가 될 일은 없을텐데, 일단 거슬리니까 지워주자. 

터미널에서 zip -d 압축파일명.zip "__MACOSX*" 을 입력해주면 깔끔하게 사라진다. 

그런데 MACOSX 디렉토리와 그 안의 파일들은 사라졌는데.. 디렉토리부터 지운거라 쓸데없이 루트 안쪽에 파일들이 있는 상황이다. 말이 어렵네 그냥 디스코드가 쓸데없이 중첩되어있으니 이걸 오른쪽과 같이 빼내주자. 

shift하고 클릭하면 한번에 뺄 수 있다. 

 

전 , 후

 

2. 아니 근데 똑같은 에러가 나온다.  

 

금방 해결은 했는데 생각 못했으면 오래걸렸을 것 같다.... 변경사항을 저장해줘야 한다. 

요기 코드 바로 위에 Changes not deployed라고 되어있어서 Deploy를 해줬더니 정상적으로 작동했다. 

 

728x90