Glitch 배포 트러블슈팅 (Troubleshooting)

박애리·2025년 2월 25일

🟠Glitch 배포 문제 & 해결 과정

1️⃣ json-server 실행 오류 (Cannot find module 'json-server')

⚠️ 문제:

Error: Cannot find module 'json-server'
  • Glitch에서 json-server가 인식되지 않음
  • 하지만 package.json에는 json-server가 추가되어 있음

✅ 해결 방법:
1️⃣ Glitch의 package.json을 수정하여 dependencies에 추가

"dependencies": {
  "json-server": "^0.17.3"
}

2️⃣ 터미널에서 강제로 json-server 설치

npm install json-server

3️⃣ 서버 실행

node server.js

➡️ Glitch에서 정상적으로 실행됨 🎉


2️⃣ Glitch에서 포트 충돌 (EADDRINUSE: address already in use :::3000)

⚠️ 문제:

Error: listen EADDRINUSE: address already in use :::3000
  • Glitch에서 포트 3000이 이미 사용 중이라 server.js 실행 불가

✅ 해결 방법:
1️⃣ server.js에서 환경 변수로 포트 설정

const PORT = process.env.PORT || 5000;
app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

2️⃣ Glitch에서 현재 실행 중인 프로세스 중지

refresh

3️⃣ 서버 다시 실행

npm start

➡️ 정상 실행됨


3️⃣ 404 Not Found 오류 발생

⚠️ 문제:

  • 배포는 성공했지만, 클라이언트에서 API 요청 시 404 Not Found 오류 발생
  • 예를 들어, http://my-glitch-app.glitch.me/testResults를 요청하면 찾을 수 없는 리소스라고 나옴

✅ 해결 방법:
1️⃣ server.js에서 CORS 설정 추가

const cors = require("cors");
app.use(cors());

2️⃣ db.json을 Glitch에서 자동으로 읽도록 설정

const jsonServer = require("json-server");
const server = jsonServer.create();
const router = jsonServer.router("db.json");
server.use(cors());
server.use(jsonServer.defaults());
server.use(router);

const PORT = process.env.PORT || 3000;
server.listen(PORT, () => {
  console.log(`JSON Server is running on port ${PORT}`);
});

3️⃣ 서버 재시작 후 다시 API 요청

npm start

➡️ API 응답이 정상적으로 돌아옴


🎯 최종 정리

Glitch 배포 트러블슈팅

  1. json-server 오류package.json에 추가 후 npm install json-server
  2. 포트 충돌 (EADDRINUSE)process.env.PORT 사용 & refresh 실행
  3. 404 Not Found 오류CORS 설정 추가 & db.json 자동 로드

0개의 댓글