Next.js 프로젝트에서 타입 검사만 따로 돌려 보려고 npm run type-check를 실행했는데 오류가 났다면, 원인은 아주 간단해요. 하지만 처음 접하면 헷갈리기 쉬운 부분이라 차근차근 정리해 볼게요.
오류 원인: package.json에 "type-check" 스크립트가 없음
npm run type-check를 실행하면 npm은 package.json의 scripts에서 type-check라는 이름을 찾아 실행해요. 그래서 아래와 같은 스크립트가 정의되어 있어야 해요.
"scripts": {
"type-check": "tsc --noEmit"
}그런데 프로젝트의 package.json에 "type-check" 항목이 없으면 npm이 스크립트를 찾지 못해 다음 오류를 내요.
npm error Missing script: "type-check"즉, 명령은 실행했지만 그 이름의 스크립트를 정의하지 않았기 때문이에요.
해결 방법: package.json에 스크립트 추가하기
package.json 파일의 "scripts" 부분에 type-check를 추가하면 해결돼요.
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"type-check": "tsc --noEmit"
}추가한 뒤 다시 실행해 보세요.
npm run type-checkNext.js 13 이후 버전에서 알아 둘 점
Next.js는 next build를 할 때 TypeScript 타입 검사를 자동으로 해 줘요. 하지만 빌드 없이 타입 검사만 하고 싶다면 별도의 "type-check" 스크립트를 만들어야 해요.
Next.js 기본 템플릿에는 "type-check" 스크립트가 들어 있지 않기 때문에 직접 추가해야 하는 거예요.
정리
npm run X는package.json에서X라는 이름의 스크립트를 찾아 실행해요."type-check"스크립트를 만들지 않았다면 npm이 찾을 수 없어 오류가 나요.- 해결 방법은
"type-check": "tsc --noEmit"한 줄을 추가하는 것이에요.
