32

如何删除.pub-cache文件夹中的颤振包?当我们给flutter clean时,它会删除当前目录下的build文件夹。我们可以手动删除它,但我的要求是.pub-cache使用命令删除文件夹中的包。

4

6 回答 6

31

如果从 pubspec 中删除依赖项然后pub get运行,它会从 .packages 文件中删除依赖项,从而使依赖项无法导入。

如果您的 pub 缓存中的包发生更改或损坏,您可以使用flutter pub cache repair命令对系统缓存中的所有托管和 git 包执行干净的重新安装。

于 2019-10-09T14:42:47.030 回答
26

简短的回答

删除该pubspec.lock文件,然后再次运行该命令flutter pub get

很长的故事

  • 该命令flutter pub get将重新生成pubspec.lock.
  • git如果您pubspec.lockcaret constraint代码没有被源代码版本控制(concrete versionspubspec.ymal
  • 如果应用答案后项目未编译,则可能是caret constraint问题,因此您必须更新项目以匹配新的库版本或concrete versions使用pubspec.ymal 例如
dependencies:
  path: 1.3.0
于 2020-03-11T05:05:04.780 回答
18

要清除全局 PUB_CACHE,请运行:

dart pub cache clean

或者

flutter pub cache clean
于 2021-07-14T15:23:33.640 回答
4

我花了 3 天多的时间来尝试所有不同的方式。但最后我发现,你需要进入“pubspec.lock”文件。然后去图书馆并在那里更改版本。然后回到文件“pubspec.yaml”并运行Packages get,它成功了。

于 2020-03-09T01:21:26.910 回答
2

打开文件资源管理器并删除.pub-cache主文件夹中的目录非常容易。或者您可以使用普通的命令行命令:

rm -r ~/.pub-cache

下次跑

flutter pub get

这将重新下载项目的pubspec.lock文件中指定的包。如果您还删除了 pubspec.lock,那么将根据您的pubspeck.yaml文件flutter pub get获得最新的非破坏性版本。

笔记:

  • 任何全局 Pub 包也存储在该.pub-cache文件夹中,因此您也必须在下次需要时再次安装它们。
  • 根据您要执行的操作,您可能不需要删除.pub-cache. 这就是为什么没有针对它的特定命令的原因。我能想到的唯一原因是,如果您想通过删除不再使用的旧版本软件包来节省空间。
于 2021-05-29T04:24:43.627 回答
2

只需转到终端并输入命令

flutter pub remove package_name 

就像

flutter pub remove flutter_riverpod
于 2021-10-06T16:51:22.090 回答