본문 바로가기
react

NextJS14 next-intl 설정중 0개의 인수가 필요한데 1개를 가져왔습니다.

by 새우하이 2025. 1. 19.

우선 필자의 환경은 CRA -> NextJS14로 마이그레이션 한 상태로

typescript 버전이 4.9.5

"next-intl": "^3.26.3" 에서 발생함

App router 를 사용중이어서

https://next-intl.dev/docs/getting-started/app-router/with-i18n-routing 절차에 따라 진행하던중

routing.ts 설정에서

TS2554: Expected 0 arguments 오류가 발생하는데

import { defineRouting } from 'next-intl/routing';
import { createNavigation } from 'next-intl/navigation';

export const routing = defineRouting({
    locales: ['ko', 'en', 'de'],

    defaultLocale: 'ko',
});

export const { Link, redirect, usePathname, useRouter, getPathname } = createNavigation(routing);

 

설정이랄게 딱히 어려운게 없었기때문에 

환장하는줄 ㅠㅠ 알았다.

 

각설하고 원인은 typescript 버전에 의한 문제로 보이는데

typescript 버전을 업데이트하고 5.7.x 로 변경하고 계속뜨길래

vscode 재시작 후 오류가 더이상 안 잡히는 것 확인함

 

https://github.com/amannn/next-intl/discussions/1436

 

TypeScript Error: defineRouting expects 0 arguments but got 1 during npm run build · amannn next-intl · Discussion #1436

Description I'm encountering a TypeScript error when running npm run build in my Next.js project that uses next-intl. Interestingly, the error does not occur when I run npm run dev; everything work...

github.com

 

나만 겪던 문제는 아니었나보다.

 

마이그레이션 중 남아 있던 CRA와 관련된 의존 라이브러리인 react-scripts가 TypeScript의 업데이트를 막고 있어, react-router-dom과 react-helment등 미사용 라이브러리들을 정리함

댓글