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

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

【问题讨论】:

    标签: flutter dart flutter-packages flutter-pub


    【解决方案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
      

      【讨论】:

      【解决方案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
          

          【讨论】:

            猜你喜欢
            • 2020-07-20
            • 2012-01-02
            • 1970-01-01
            • 2020-10-10
            • 2023-03-12
            • 1970-01-01
            • 1970-01-01
            • 2012-07-26
            • 2021-09-29
            相关资源
            最近更新 更多