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

D.D*_*ran 26 dart flutter flutter-packages flutter-pub

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

Cop*_*oad 74

要清除全局 PUB_CACHE,请运行:

dart pub cache clean
Run Code Online (Sandbox Code Playgroud)

或者

flutter pub cache clean
Run Code Online (Sandbox Code Playgroud)

  • 这个答案应该被标记为正确! (2认同)

小智 29

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

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


sha*_*rif 21

简答

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

很长的故事

  • 该命令flutter pub get将重新生成pubspec.lock.
  • 如果你的代码是不是由源代码版本控制像跟踪git,确保从你的备份副本,pubspec.lock删除它,特别是如果该项目是有点老了之前的文件和你正在使用caret constraint的包depencedy,而不是用concrete versionspubspec.ymal
  • 如果该项目不适用的答案后,编译它可能是caret constraint问题,所以你必须更新项目,以配合新版本的库或使用concrete versionspubspec.ymal 例如
dependencies:
  path: 1.3.0
Run Code Online (Sandbox Code Playgroud)


小智 14

只需转到终端并输入命令

flutter pub remove package_name 
Run Code Online (Sandbox Code Playgroud)

就像

flutter pub remove flutter_riverpod
Run Code Online (Sandbox Code Playgroud)


Doa*_*Bui 5

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


Sur*_*gch 5

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

rm -r ~/.pub-cache
Run Code Online (Sandbox Code Playgroud)

下次你跑步的时候

flutter pub get
Run Code Online (Sandbox Code Playgroud)

这将重新下载项目的pubspec.lock文件中指定的包。如果您还删除了 pubspec.lock,那么将根据您的pubspeck.yamlflutter pub get文件获取最新的不间断版本。

笔记:

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