Flutter 命令删除 .pub-cache 文件夹中的包

Posted

技术标签:

【中文标题】Flutter 命令删除 .pub-cache 文件夹中的包【英文标题】:Flutter command to delete packages in .pub-cache folder 【发布时间】:2020-02-06 21:02:12 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

简答

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

长篇大论

命令flutter pub get 将重新生成pubspec.lock。 如果您的代码没有被git 等源代码版本控制跟踪,请确保在删除之前从您的pubspec.lock 文件中获取备份副本,特别是如果项目有点旧并且您正在使用caret constraint 用于软件包依赖,而不是在 pubspec.ymal 中使用 concrete versions 如果应用答案后项目未编译,则可能是caret constraint 问题,因此您必须更新项目以匹配新库版本或在pubspec.ymal 中使用concrete versions 例如
dependencies:
  path: 1.3.0

【讨论】:

这个文件应该被推送到源代码管理,如何删除它是一个好的解决方案? 命令flutter pub get会重新生成那个文件,别担心 那么查这个文件到源代码管理的目的是什么?这样做没有任何意义。 在源代码控制中保留pubspec.lock 是可选的,但是;如果项目有点旧并且您使用 caret constraint 进行软件包依赖而不是在 pubspec.ymal 中使用 concrete versions 会很有帮助,这会导致其他开发人员在 pubspec.lock 中获得更新的版本,这可能会导致编译问题. 不客气,是的,你是对的;这就是为什么您可能需要保留原始pubspec.lock 的备份,然后再删除它,如果源代码版本控制没有跟踪它:D 我会将其添加为答案中的注释。【参考方案3】:

要清除全局 PUB_CACHE,运行:

dart pub cache clean

flutter pub cache clean

【讨论】:

此命令已添加到 Dart 2.14.0 github.com/dart-lang/sdk/blob/master/CHANGELOG.md flutter pub cache clean 也有效 @ThongMTruong 是的,大多数 Dart 命令也适用于 Flutter 工具。 这个答案应该被标记为正确!【参考方案4】:

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

【讨论】:

【参考方案5】:

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

rm -r ~/.pub-cache

下次跑

flutter pub get

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

注意事项:

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

【讨论】:

【参考方案6】:

只需转到终端并输入命令

flutter pub remove package_name 

喜欢

flutter pub remove flutter_riverpod

【讨论】:

以上是关于Flutter 命令删除 .pub-cache 文件夹中的包的主要内容,如果未能解决你的问题,请参考以下文章

Flutter build 给出 .pub-cache cloud firestore 错误

Flutter 为 pub-cache 生成错误

在 Flutter 中意外删除了 dart 包

flutter VSCode搭建web项目

Flutter apk 在 android 设备中不起作用

使用 Getx 小部件-Flutter 运行时显示错误