我是Dart的新手。
我创建了一个简单的Web应用程序但是当我想运行它时,我在“工具输出”中收到了这条消息:
在“/home/reza/.pubcache/hosted/pub.dartlang.org/browser-0.10.0+2”中找不到名为“pubspec.yaml”的文件。
如何解决此问题?
我使用Ubuntu 14.04LTS 64bit和DartDditor 1.7.2
答案 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。