path_pubspec_does_not_exist — 경로에 pubspec이 없어요

path_pubspec_does_not_exist — 경로에 pubspec이 없어요

Dart 분석기(analyzer)가 만들어내는 path_pubspec_does_not_exist 진단에 대한 설명이에요.

출처: path_pubspec_does_not_exist

본문

이 진단이 나오면 터미널에는 다음과 같은 메시지가 떠요.

The directory '{0}' doesn't contain a pubspec.

즉, 지정한 디렉토리에 pubspec.yaml 파일이 없다는 뜻이에요.

언제 발생하나요?

의존성(dependency)의 path 키가 pubspec.yaml 파일이 들어있지 않은 디렉토리를 가리킬 때 분석기가 이 진단을 만들어요. 패키지의 경로를 지정했는데 그 위치에 실제로 pubspec이 없으면 뜻이 통하지 않으니 그렇죠.

예시

local_package 디렉토리에 pubspec.yaml 파일이 없다고 가정해 볼게요. 다음 코드는 그 디렉토리를 패키지의 경로로 지정하고 있어서 이 진단이 생겨요.

name: example
dependencies:
  local_package:
    path: local_package

어떻게 고치나요?

먼저 경로가 정말로 패키지의 루트를 가리키는 건지 확인해 보세요.

  • 경로가 패키지 루트가 맞다면, 그 디렉토리에 pubspec.yaml 파일을 추가하면 돼요.
name: local_package
  • 경로 자체가 잘못된 거라면, 올바른 경로로 바꿔주면 돼요.

더 알아보기

  • pub 의존성 문서path 의존성과 pubspec 구성에 대해 더 자세히 볼 수 있어요.