跳到主要內容

depend_on_referenced_packages

匯入的包 '{0}' 不是匯入包的依賴項。

描述

#

當包匯入引用了 pubspec.yaml 檔案中未指定的包時,分析器會產生此診斷。

顯式依賴你引用的包可確保它們始終存在,並允許你對其施加依賴約束,以防止破壞性變更。

示例

#

給定一個包含以下內容的 pubspec.yaml 檔案

yaml
dependencies:
  meta: ^3.0.0

以下程式碼會產生此診斷,因為沒有對包 a 的依賴

dart
import 'package:a/a.dart';

常見修復

#

依賴項應該是常規依賴項還是開發依賴項,取決於該包是從公共庫(如 libbin 下的庫)引用,還是僅從私有庫(如 test 下的庫)引用。

如果該包至少從一個公共庫引用,則將該包新增為 pubspec.yaml 檔案中 dependencies 欄位下的常規依賴項

yaml
dependencies:
  a: ^1.0.0
  meta: ^3.0.0

如果該包僅從私有庫引用,則將該包新增為 pubspec.yaml 檔案中 dev_dependencies 欄位下的開發依賴項

yaml
dependencies:
  meta: ^3.0.0
dev_dependencies:
  a: ^1.0.0