【问题标题】:Could not find a file named "pubspec.yaml" in找不到名为“pubspec.yaml”的文件
【发布时间】:2015-01-28 19:15:26
【问题描述】:

我创建了一个简单的 Web 应用程序,但是当我想运行它时,我在“工具输出”中收到了这条消息:

在“/home/reza/.pubcache/hosted/pub.dartlang.org/browser-0.10.0+2”中找不到名为“pubspec.yaml”的文件。

我该如何解决这个问题?

我使用 Ubuntu 14.04LTS 64 位和 Dart Editor 1.7.2

【问题讨论】:

    标签: dart dart-pub


    【解决方案1】:

    这在我身上发生过好几次了:

    对我 (OS X) 来说最终解决的问题是删除 pub 的缓存:

    sudo rm -Rf /Users/<username>/.pub-cache

    同时删除项目根目录中的包目录:

    sudo rm -Rf packages

    然后pub get 再次在您的项目中,但确保不是以 root 身份操作(whoami 会告诉您,并且exit 会让你离开那里)。

    【讨论】:

    • 谢谢你,在我尝试 SO 之前让我塞满了半小时。你的解决方案奏效了。我的包文件夹在.packages,所以我发出sudo rm -Rf .packages 删除它。
    • 谢谢。我在“.pub-cache/hosted/pub.dartlang.org/devtools ...”中找不到名为“pubspec.yaml”的文件。在删除 .pub-cache + pub get now 后工作正常。
    • 在 Windows 上,我删除了 pubspec.lock 文件,然后我写信给控制台 flutter clean 和 flutter pub get。它在 Windows 上是这样工作的
    【解决方案2】:

    运行flutter clean,然后运行flutter pub get

    【讨论】:

      【解决方案3】:

      您的 pub 缓存似乎已损坏。您可以尝试从命令行运行pub cache repair,但我认为当pubspec.yaml 文件丢失时这仍然无法正常工作(有一个未解决的问题 - 找到它:http://dartbug.com/21418)。请尝试删除文件夹/home/reza/.pubcache/hosted/pub.dartlang.org/browser-0.10.0+2,然后从项目目录或 DartEditor 中运行 pub get

      【讨论】:

      • 我试图删除该文件夹,但是当我在终端的 reza 目录中键入“ls”时,没有名称为“.pubcache”的文件夹。
      • .pub-cache 呢?
      • 也没有 .pub-cache 文件夹
      • 这很奇怪。您是否尝试在项目目录中运行 pub getpub upgrade
      • 很奇怪。我认为您应该在dartbug.com/new 创建一个错误报告。有一些与.pub-cache 相关的已知问题,但我还没有看到类似的问题。
      【解决方案4】:

      我在运行一个简单的dart run 时也遇到了类似的问题:

      Could not find a file named "pubspec.yaml" in '/Users/<username>/.pub-cache/hosted/pub.dartlang.org/animated_widgets-1.1.0'
      

      所以我设法通过以下步骤修复它:

      • sudo rm -Rf /Users/&lt;username&gt;/.pub-cache
      • flutter clean 在当前项目文件夹中。
      • 最重要的运行dart pub get
      • flutter pub get

      终于成功了?

      【讨论】:

      • 谢谢你,dart pub get 帮我做了?
      • 没用,仍然报错:在“/Library/Flutter/.pub-cache/hosted/pub.dartlang.org/device_info_plus-”中找不到名为“pubspec.yaml”的文件3.1.1 英寸。
      【解决方案5】:

      如果您的 pubspec.yaml 文件引用其他某个 pubspec 文件,也会发生这种情况。尝试从 pubspec.yaml 中删除路径并替换为版本,如下所示。

      flutter_local_notifications:
          path: ../
      

      至此

      flutter_local_notifications: ^4.0.1+1
      

      【讨论】:

        【解决方案6】:

        感谢 David 的回答,它帮助我在我的 mac 中找到并删除了 pub 缓存目录。

        sudo rm -Rf /Users/<user-name>/Developer/flutter/.pub-cache
        

        大卫提到的路径发生了变化。

        【讨论】:

          【解决方案7】:

          我遇到了同样的问题。为了解决这个问题,我尝试了互联网上建议的许多方法,但没有任何效果。然后我去了小路 C:\Users\pc\AppData\Local\Pub\Cache 并删除“缓存”文件夹,删除此文件夹后我重新启动IDE并运行“pub get”命令,它解决了这个问题。

          【讨论】:

            【解决方案8】:

            简单的解决方案是删除您的 .pub-cache 文件夹,然后重新获取 pub。

            【讨论】:

              【解决方案9】:

              对我来说,从项目根目录中删除 .pub-cache 或包都不起作用。解决方案是分别从 ~/.pub-cache/git 中删除目录。

              在我的例子中,我在 git 上托管了 6 个包,所以我必须删除每个包并每次调用 flutter pub get 来处理所有 6 个包。 完成此操作后,一切似乎都运行良好。

              【讨论】:

                【解决方案10】:

                您不必删除或修复整个缓存(需要很长时间)

                在这种特定情况下,您可以简单地删除有问题的包: /home/reza/.pubcache/hosted/pub.dartlang.org/browser-0.10.0+2"

                但请确保复制错误消息中的值。

                然后运行: flutter pub getpub get

                【讨论】:

                  【解决方案11】:

                  1.只需从“C:/src/flutter”之类的根文件夹中删除flutter即可。

                  2.从这里下载https://docs.flutter.dev/get-started/install/windows

                  3.在编辑环境变量下设置用户变量内的路径。

                  4.然后在android studio上重置路径....

                  之后问题就会消失。

                  【讨论】:

                    【解决方案12】:

                    就我而言,它发生在我更新颤振版本之后。

                    cd 到当前项目文件夹。

                     flutter clean
                     flutter pub get
                    

                    终于flutter packages pub run build_runner build 成功了~

                    【讨论】:

                      【解决方案13】:

                      在我的情况下,我在 pubspec.yaml 文件中出现了一些错误,在修复了 pubspec.yaml 中的错误后,错误消失了

                      【讨论】:

                        【解决方案14】:

                        pub 获取失败(66;找不到名为 “pubspec.yaml”在 “/Users/osx/flutter/.pub-cache/hosted/pub.dartlang.org/ percent_indicator-3.0.1".)

                        解决方案

                        简单的解决方案是删除您的 /osx/flutter/.pub-cache 文件夹,然后 flutter pub get。

                        【讨论】:

                          【解决方案15】:

                          在我的情况下,也可能是你的,我是 linux(debian) 用户,我有这样的问题:

                          Could not find a file named "pubspec.yaml" in "/opt/flutter/.pub-cache/hosted/pub.dartlang.org/analyzer-1.7.1".
                          pub finished with exit code 66
                          

                          我用以下命令修复它:

                          sudo rm -Rf /opt/flutter/.pub-cache
                          sudo rm -Rf packages
                          flutter pub get
                          

                          【讨论】:

                            猜你喜欢
                            • 2018-12-21
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2023-02-13
                            • 1970-01-01
                            • 2021-01-06
                            • 2020-12-26
                            相关资源
                            最近更新 更多