【发布时间】: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
【问题讨论】:
我创建了一个简单的 Web 应用程序,但是当我想运行它时,我在“工具输出”中收到了这条消息:
在“/home/reza/.pubcache/hosted/pub.dartlang.org/browser-0.10.0+2”中找不到名为“pubspec.yaml”的文件。
我该如何解决这个问题?
我使用 Ubuntu 14.04LTS 64 位和 Dart Editor 1.7.2
【问题讨论】:
这在我身上发生过好几次了:
对我 (OS X) 来说最终解决的问题是删除 pub 的缓存:
sudo rm -Rf /Users/<username>/.pub-cache
同时删除项目根目录中的包目录:
sudo rm -Rf packages
然后pub get 再次在您的项目中,但确保您不是以 root 身份操作(whoami 会告诉您,并且exit 会让你离开那里)。
【讨论】:
.packages,所以我发出sudo rm -Rf .packages 删除它。
运行flutter clean,然后运行flutter pub get
【讨论】:
您的 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。
【讨论】:
.pub-cache 呢?
pub get 或 pub upgrade?
.pub-cache 相关的已知问题,但我还没有看到类似的问题。
我在运行一个简单的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/<username>/.pub-cache。flutter clean 在当前项目文件夹中。dart pub get
flutter pub get终于成功了?
【讨论】:
dart pub get 帮我做了?
如果您的 pubspec.yaml 文件引用其他某个 pubspec 文件,也会发生这种情况。尝试从 pubspec.yaml 中删除路径并替换为版本,如下所示。
flutter_local_notifications:
path: ../
至此
flutter_local_notifications: ^4.0.1+1
【讨论】:
感谢 David 的回答,它帮助我在我的 mac 中找到并删除了 pub 缓存目录。
sudo rm -Rf /Users/<user-name>/Developer/flutter/.pub-cache
大卫提到的路径发生了变化。
【讨论】:
我遇到了同样的问题。为了解决这个问题,我尝试了互联网上建议的许多方法,但没有任何效果。然后我去了小路 C:\Users\pc\AppData\Local\Pub\Cache 并删除“缓存”文件夹,删除此文件夹后我重新启动IDE并运行“pub get”命令,它解决了这个问题。
【讨论】:
简单的解决方案是删除您的 .pub-cache 文件夹,然后重新获取 pub。
【讨论】:
对我来说,从项目根目录中删除 .pub-cache 或包都不起作用。解决方案是分别从 ~/.pub-cache/git 中删除目录。
在我的例子中,我在 git 上托管了 6 个包,所以我必须删除每个包并每次调用 flutter pub get 来处理所有 6 个包。
完成此操作后,一切似乎都运行良好。
【讨论】:
您不必删除或修复整个缓存(需要很长时间)
在这种特定情况下,您可以简单地删除有问题的包:
/home/reza/.pubcache/hosted/pub.dartlang.org/browser-0.10.0+2"
但请确保复制错误消息中的值。
然后运行:
flutter pub get 或 pub get
【讨论】:
1.只需从“C:/src/flutter”之类的根文件夹中删除flutter即可。
2.从这里下载https://docs.flutter.dev/get-started/install/windows
3.在编辑环境变量下设置用户变量内的路径。
4.然后在android studio上重置路径....
之后问题就会消失。
【讨论】:
就我而言,它发生在我更新颤振版本之后。
cd 到当前项目文件夹。
flutter clean
flutter pub get
终于flutter packages pub run build_runner build
成功了~
【讨论】:
在我的情况下,我在 pubspec.yaml 文件中出现了一些错误,在修复了 pubspec.yaml 中的错误后,错误消失了
【讨论】:
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。
【讨论】:
在我的情况下,也可能是你的,我是 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
【讨论】: