找不到名为" pubspec.yaml"的文件。在

时间:2014-11-30 19:31:21

标签: dart dart-pub

我是Dart的新手。

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

  

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

如何解决此问题?

我使用Ubuntu 14.04LTS 64bit和DartDditor 1.7.2

6 个答案:

答案 0 :(得分:4)

这种情况多次发生在我身上:

最终为我解决的问题(OS X)正在删除pub的缓存:

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

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

sudo rm -Rf packages

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

答案 1 :(得分:4)

运行flutter clean然后flutter pub get

答案 2 :(得分:1)

我看起来你的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

答案 3 :(得分:0)

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

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

David 提到的路径发生了变化。

答案 4 :(得分:0)

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

flutter_local_notifications:
    path: ../

为此

flutter_local_notifications: ^4.0.1+1

答案 5 :(得分:0)

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