와 오늘은 진짜 지옥이었다.
먼저 아침에 도메인 이름을 처음 구입하기에 한참 고민을 해서 ryandia.com이라는 도메인 이름을 구입하였다.
바로 EC2에 고정 IP를 할당하고 aws route 53에서 레고드를 생성하여 프로젝트를 할당했는데 헉 갑자기 에러가 떴다.
crbug/1173575, non-JS module files deprecated
이 에러가 터졌다.
이 에러에 잘못걸리면 진짜 고생이다.
이 에러의 해결법은 너무나도 많다.
즉 원인이 다양하다는 것이다. 그 수많은 원인 중에 어떤 원인때문에 저 에러가 떴는지 찾아야한다.
해결법은
1 인터넷 연결확인
2 크롬을 종류후 다시 켜기 (쿠키삭제)
3. 크롬 네트워크 창의 throttle 설정이 오프라인으로 되어 있는지 확인
4. node module중에 구식이 있어 뜰 수 있음
이외에도 몇개 더있었다.
다행히 나의 경우는 node module중에 forever인 것 같았다.
해당 내역을 삭제하니 정상으로 작동하였다.
forever 대신에 더 유명한 pm2라는 모듈을 찾았다.
직접사용해보니 훨씬 편하고 직관적이다.
처음부터 pm2를 사용하는 것을 적극 권장한다.
그리고 이걸 해결하니 이제는 s3가 말썽이였다.
일단 아이패드나 아이폰으로 접속해봤는데 영상재생이 되지않았다.
다행히 강의 댓글에 누군가가 친절히 댓글은 남겨줘서 간단히 해결이 가능했다.
배포후 ios에서 동영상을 재생하시고 싶으면
videoUploader에 contentType을 지정해주세요.
-----------------------------------------
const s3VideoUploader = multerS3({
s3: s3,
bucket: "nutube/videos",
acl: "public-read",
contentType: multerS3.AUTO_CONTENT_TYPE,
});
하지만 그 다음이 문제였다.
mongoDB atlas에는 잘 저장이 되는데 s3에는 저장이 되지 않았다.
먼가 계속 작동이 안돼서 버전을 바꾸었다.
import { S3Client } from "@aws-sdk/client-s3";
잘 찾아보니 aws-sdk v3가 있었다.
그래서 multer-s3도 v3으로 해서 버전을 맞춘뒤 다시 업로드 하였다.
하지만 몇몇의 자잘한 오류들이 있었다.
일단 buket 에서는 "/" 이 슬래쉬를 포함하면 안된다. 열심히 구글링을 했지만 아직 못 찾았다. 여러 단서들이 있지만
시간상 내일 다시 시도해봐야겠다.
https://yarnpkg.com/package/@aws-sdk/client-s3
https://yarnpkg.com/package/@aws-sdk/client-s3
Fast, reliable, and secure dependency management.
yarnpkg.com
https://snyk.io/advisor/npm-package/@aws-sdk/client-s3
Choose the best package - Snyk Open Source Advisor
Find the best open-source package for your project with Snyk Open Source Advisor. Explore over 1 million open source packages.
snyk.io
그리고 버전을 업그레이드 하면서 ACL 에 문제가 생겨서 이 또한 결국에 해결 했다.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/s3-public-access-acl/
퍼블릭 액세스에 대한 S3 버킷 ACL 설정 이해
Amazon S3 콘솔을 사용하여 버킷의 ACL에 대한 퍼블릭 액세스를 활성화했습니다. 버킷이 모든 사용자에게 공개되나요? 최종 업데이트 날짜: 2021년 12월 10일 Amazon Simple Storage Service(Amazon S3) 콘솔을 사
aws.amazon.com
https://stackoverflow.com/questions/71080354/getting-the-bucket-does-not-allow-acls-error
getting "The bucket does not allow ACLs" Error
This is my bucket policy { "Version" : "2012-10-17", "ID" : "************", "Statement" : [ { "Sid" : &qu...
stackoverflow.com
그리고 git을 많이 사용하다보니 git pull 할때 에러가 뜨면 아래처럼 해주면 된다.
나는 주로 git stash 로 해결한다.
https://goddaehee.tistory.com/253
[Git (6)] git pull 에러 해결방법 (Your local changes to the following files would be overwritten by merge )
[Git (6)] git pull 에러 해결 (Your local changes to the following files would be overwritten by merge ) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ git pull 충돌 에러 해결방법 ] 입니다. : ) 1...
goddaehee.tistory.com
pm2 추가 자료
PM2 - Home
Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance.
pm2.keymetrics.io
https://hellominchan.tistory.com/11
[Node.js] PM2 소개와 설치 및 사용법
[Node.js] PM2 소개와 설치 및 사용법 (PM2 버전 : 4.2.1, 글쓴날 : 2020.02.11) * 글 쓴 날 기준으로 PM2의 최신 버전은 4.2.3입니다. 1. PM2란 무엇인가? 1) 프로세스 매니저 우리의 Node.js에 사용성을 200%..
hellominchan.tistory.com
[NODE] 📚 PM2 모듈 사용법 - 클러스터 / 무중단 서비스
Node.js 싱글 스레드 Node.js는 Chrome의 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임(runtime)으로 ‘Event Driven’, ‘Non-Blocking I/O’ 모델을 사용해 가볍고 성능이 뛰어나 높은 평가를 받고 있.
inpa.tistory.com
'정보' 카테고리의 다른 글
더 좋은 코드를 위한 노력 - 코드 가독성 개선하기 (2) (0) | 2022.12.22 |
---|---|
더 좋은 코드를 위한 노력 - 코드 가독성 개선하기 (1) (0) | 2022.12.19 |
[오류] Mac 에러 해결 (xcrun: error: invalid active developer path) (0) | 2022.10.25 |
[TIL] PORT / PORT forwarding (0) | 2022.09.15 |
[TIL] 공유기 ( router) (0) | 2022.09.15 |