에러: 'Error: graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.' 해결하는 방법

❗문제 발견

Graphql 형태로 구현한 API를 테스트하려고 서버를 띄우는데 이게 웬걸... 뭐라는 건지도 모르겠는 에러가 나왔네? 🥲🥲🥲
아무리 봐도 코드상의 에러는 아닌 것 같고? 그렇다고 서버가 안뜨는 것도 아니고? mysql도 정상작동하고? 도저히 봐도 모르겠는데 마침 페어가 어제 비슷한 문제를 겪었어서 다운그레이드가 방법일 것 같다는 얘기를 전해들었다.
그래서 구글에 쳐봤더니 stackoverflow에 올라온 답변이 있었고 그걸 참고해서 문제를 해결했기 때문에 벨로그에 올려서 공유해본다!

❓원인?

오류가 뜬 이유는 아폴로 서버(apollo-server) 2graphql 15를 지원하지 않기 때문이었다. 버전이 맞지 않아서 생긴 오류였는데 무슨 pass an object instead를 하라는 건지...🥲🥲 오류 메시지 이런 식으로 쓸거면 프로그램 때려치길 바란다...

🗝️ 해결 방법

그러면 어떻게 해야 할지? 답변은

  • 아폴로 서버를 3으로 업그레이드 하거나
  • graphql을 15로 다운그레이드 하거나

라고 나와있었다. 근데 업데이트는 어떻게 하는데?
일반적으로 버전을 따로 적어두지 않으면 최신 버전으로 설치가 되는 것 같은데 나는 무슨 일인지 다운된 버전이 설치되어 있었기 때문에 강제로 아폴로 서버의 버전 앞자리를 3으로 바꿔줬다. 🥲

yarn add [email protected]

그렇게해서 잘 돌아가는 graphql을 마주할 수 있었다.
고마워요 스택오버플로우!!!!

🔔 참고
stackOverflow - grapql@16 dropped long-deprecated support for positional arguments, please pass an object instead

좋은 웹페이지 즐겨찾기