강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

MH님의 프로필 이미지
MH

작성한 질문수

GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]

menu API 테스트

프로젝트 실행이 되지 않아 menu API 테스트가 불가합니다 ㅠ

해결된 질문

작성

·

43

0

캡처.PNG.webp

 

잘 모르겠습니다. ㅠㅠ

답변 9

1

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

우선 meteor 버전이 잘 못 되어 있는 것 같습니다.

강좌의 경우 2.14버전의 meteor를 기준으로 작성된 코드들입니다.

이를 위해서 프로젝트를 새로 만드셔야 합니다.

다음 명령어를 통해 새롭게 프로젝트를 시작하고 패키지를 설치하시기 바랍니다.

meteor create --release 2.14 ./ --bare

또 추가로 설치된 패키지 중에 버전이 맞지 않는 패키지도 있었습니다.

@apollo/server 가 그것인데 다음과 같이 버전을 맞게 설치하시면 됩니다.

meteor npm i @apollo/server@4.10.0

다음으로 코드 중에 오류가 좀 있었는데 /imports 로 경로를 가져와야 하는데 /가 빠진 코드가 많이 있었습니다. 이 부분을 주의 하셔야 할 것 같습니다.

 

api/item/resolvers/mutatins.js

import { currentDate } from "imports/utils/formatDate";

아래와 같이 수정

import { currentDate } from "/imports/utils/formatDate";

server/main.js

import { Meteor } from 'meteor/meteor';

if (Meteor.isServer) {
    import 'imports/startup'
}

아래와 같이 수정

import { Meteor } from 'meteor/meteor';

if (Meteor.isServer) {
    import '/imports/startup'
}

imports/api/item/resolvers/quries.js

import { Categories, Items } from "../collections";
import { ALL } from 'imports/utils/constants';

...

import { Categories, Items } from "../collections";
import { ALL } from '/imports/utils/constants';

 

또 실행시의 명령어로는 다음과 같이 하시기를 추천드립니다.

DISABLE_WEBSOCKETS=true meteor run

 

참고로 apple m2가 이상이 있진 않습니다. 현재 제가 사용하는 노트북이 m4이기 때문에 해당 환경에서 테스트 후 안내드렸다는 것을 참고하셨으면 좋겠습니다.

0

MH님의 프로필 이미지
MH
질문자

와! 드디어 다음 진도로 향할 수 있게 되었어요 ㅠ,ㅠ (감격)

헤쳐나갈 수 있게 도움 주셔서 감사해요. 남은 여정도 잘 부탁드립니다 ㅎㅎ (__)

0

MH님의 프로필 이미지
MH
질문자

그 ㅠㅠ req.body is not set; this probably means you forgot to set up the json middleware before the Apollo Server middleware. 이런 문구가 /graphql 호출하면 나와서요.

 

/startup/apollo-server.js. 에 express.json() 추가 하는 내용 검색하다 찾아서 넣었더니

app.use(json(), cors(), express.json(), expressMiddleware(server, {}));

 

Screenshot 2025-12-30 at 01.17.27.png.webp

이렇게 되고 말았습니다 ㅠㅠㅠ 자꾸 왜 이러는 것인지요

 

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

추가한 구문은 지우시고

다음과 같이 body-parser 패키지 버전을 2 -> 1로 변경하시기 바랍니다.

meteor npm remove body-parser

meteor npm i body-parser@1

 

0

MH님의 프로필 이미지
MH
질문자

ㅠ,ㅠ 덕분에 서버 실행까지 되었습니다 (기쁘네요)

하지만 ㅠ,ㅠ 아래처럼 작성하지 않은 파일부분에서 오류가 발생하며 화면이 나오지 않아서요 .ㅠㅠ

Screenshot 2025-12-29 at 23.46.04.png.webp

ㅠ,ㅠ 찾아봤는데 잘 안나오네요 왜 저러는지 노드 버전관련 글도 참고했지만 소용이 없네요

Screenshot 2025-12-29 at 23.48.49.png.webp

 

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

오류의 경우 express 버전과 관련된 내용인 것 같습니다.

설치된 express를 지우고 다음과 같이 4버전을 설치하시기 바랍니다.

meteor npm remove express 

meteor npm i express@4

추가로 오타관련해서 안내드리겠습니다. 아래 내용을 참고하시기 바랍니다.

api/item/schema.js

...

    type Query {
        categories: [Category]
        item(_id: ID): [Item]
        items(pageNumber: Int, search: String, itemCategoryId: ID): [Item]
        # itemsPageCount(search: String, itemCategoryId: ID): Int # itemsPageCount가 오타임
        itemPageCount(search: String, itemCategoryId: ID): Int # itemPageCount로 수정필요
    }
...

api/item/resolvers/mutaions.js

    async deleteItem(_, { _id }) {
        try {
            await Items.remove(_id);
            return _id;
        } catch (e) {
            throw `deleteItem error: ${e}`;
        }
    },

    async uploadFile(_, {  }) {

    },

    // async deleteFile(_, {  }) { // 현재 코드 상에서 deleteFile에 대한 스키마정의가 되어 있지 않음 그래서 이부분 우선 주석 처리

    // }

0

MH님의 프로필 이미지
MH
질문자

첨부했어요! ignore 했었어요; (build하면 생기는 것으로 착각하여 ㅎ)

0

MH님의 프로필 이미지
MH
질문자

안녕하세요.

먼저 코드의 경우 강의를 보며 따라서 작성하고 있었습니다.

위의 오류는 사실 맥환경에서 되지 않아 혹시나 하는 마음으로 윈도우 환경에서 실행하여 발생한 오류입니다.

코드는 다음 주소 확인 부탁드립니다. https://github.com/myunghoonju/meteor-graphql

맥은 M2 칩을 사용하고 있습니다.

맥의 경우 아래와 같은 오류와 함께 실행이 불가합니다 ㅠ

Screenshot 2025-12-28 at 23.30.34.png.webp

 

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

보내주신 git 소스에는 .meteor 폴더가 없는 것 같은데

해당 폴더도 같이 부탁드리겠습니다. 만약 .meteor 폴더가 없다면 meteor가 설치되어 있지 않아 생기는 문제일 수 있으니 이부분도 확인부탁드립니다.

 

0

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

우선 오류 상으로는 모듈이 없다고 나오는 것 같습니다 .

meteor npom install —save @apollo/server 를 설치하셔야 할 것 같은데

몇가지 확인사항으로

첫번째 강좌를 따라서 코드를 실행시키고 있는 것인지? 아니면 git에서 소스를 다운 받아서 실행시키고 있는것인지입니다.

만약 git에서 다운 받으셨다면 npm i 를 통해서 필요한 모듈을 설치하시기 바랍니다.

참고로 node버전의 경우 1.4버전을 사용하셔야 합니다.

그리고 강좌를 따라 진행했다면 아래와 같이 모듈을 설치하시기 바랍니다.

meteor npom install —save @apollo/server

그리고 강좌에 사용된 meteor 버전의 경우 2.14 버전이므로 해당 버전의 meteor를 사용해야 한다는 것도 기억해 주시기 바랍니다.

그리고 MENU 프로젝트의 경우 실행 방법은 meteor run이 아닌 다음과 같습니다. 이부분도 참고 해보시기 바랍니다.

DISABLE_WEBSOCKETS=true meteor run

 

0

MH님의 프로필 이미지
MH
질문자

작성하지 않은 파일에 구문이 틀렸다고 나오네요 ㅠ

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

답변을 확인해 보시고 만약 그래도 실행이 안된다면

git에 코드를 올려 문의를 주시거나

혹은 freeseamew@gmail.com으로 코드를 보내주시면 제가 확인해 보도록 하겠습니다.

0

안녕하세요, 인프런 AI 인턴입니다. MH님, 프로젝트 실행이 되지 않아 많이 당황스러우시겠어요. 공유해주신 오류 화면을 토대로 몇 가지 가이드를 드리겠습니다.

  1. 모듈 설치 문제: 먼저 @apollo/server 모듈이 누락된 것 같습니다. 터미널에서 다음 명령어를 실행하여 필요한 모듈을 설치해 주세요.

    meteor npm install --save @apollo/server
    
  2. 문법 오류: 오류 메시지 중 “SyntaxError: Unexpected token ‘||=’“는 코드에서 지원되지 않는 연산자를 사용하고 있음을 나타냅니다. 이는 Node.js와 같은 환경에서 지원되지 않는 최신 ES 버전의 문법을 사용할 경우 발생할 수 있습니다. Node.js 버전을 확인하거나, 호환되는 버전으로 연산자를 변경해야 할 수도 있습니다.

  3. Meteor 업데이트: 다양한 기능 개선과 오류 수정을 위해 Meteor를 최신 버전으로 업데이트하는 것이 좋습니다. 다음 명령어를 사용해 업데이트할 수 있습니다.

    meteor update
    

이러한 조치를 통해 문제가 해결되지 않으면 추가적인 로그나 정보를 제공해 주시면 더 나은 도움을 드릴 수 있습니다. 또한, 관련 질문 게시물을 참고하여 비슷한 문제가 있었는지도 확인해 보세요:
- “에러: Cannot find module ‘./collections’”
- “Meteor run 실행 시 오류”

위 질문들도 참고하셔서 환경 설정을 점검해 보시면 도움이 될 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

MH님의 프로필 이미지
MH

작성한 질문수

질문하기