Flutter packages get 不安装新包

Posted

技术标签:

【中文标题】Flutter packages get 不安装新包【英文标题】:Flutter packages get does not install new package 【发布时间】:2019-09-10 07:15:46 【问题描述】:

我正在尝试在 Flutter 中安装一个包 (dynamic_theme)。当我运行flutter packages get -v 时,它甚至不会尝试安装包。

到目前为止我已经尝试过:

正在运行flutter packages get 正在运行flutter packages get 重新启动我的电脑 更新颤振 添加了另一个包,但也没有安装 更新了 android Studio

在我的 pubspec.yaml 中我放了:

dependencies:
  flutter:
    sdk: flutter
  firebase_core:
  cupertino_icons: ^0.1.2
  dynamic_theme: ^1.0.1 # the package does not install
  uuid: 2.0.0 # the package does not install

在详细运行 flutter packages get 的日志中,它安装了它输出的包:

[ +422 ms] Running "flutter packages get" in quiz_app... (completed in 0.4s)
[  +57 ms] Found plugin firebase_core at E:\Other\SDKs\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.3.4\
[  +13 ms] Found plugin shared_preferences at E:\Other\SDKs\flutter\.pub-cache\hosted\pub.dartlang.org\shared_preferences-0.5.2\
[ +141 ms] Found plugin firebase_core at E:\Other\SDKs\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.3.4\
[   +6 ms] Found plugin shared_preferences at E:\Other\SDKs\flutter\.pub-cache\hosted\pub.dartlang.org\shared_preferences-0.5.2\
[  +26 ms] "flutter get" took 718ms.

我预计 Flutter 会下载并安装软件包,但它只是检查已安装软件包的更新,例如 firebase_core

【问题讨论】:

为什么没有firebase_core 的版本?这是复制粘贴错误还是您实际的 pubspec.yaml 文件?我认为这可能是您的问题(查看您的 cmets)。当前版本是0.3.4 我认为不指定版本总是最新的,但我可以尝试更改它。 @tomerpacific 指定版本没有帮助。它在有和没有版本期间下载 0.3.4。 @Alive - 我有两件事要建议:要么尝试开始一个全新的项目,然后只添加所需的库,然后看看会发生什么。或者,您是否尝试过运行flutter clean flutter clean 没有改变任何东西。启动一个新项目也没有安装包。我尝试安装我知道有效但也没有安装的软件包 UUID。 【参考方案1】:

关闭并打开您的编辑器。为我工作;)

【讨论】:

【参考方案2】:

所以基本上运行:

flutter clean

flutter packages get

flutter packages upgrade

重启 Android Studio 或 Visual Studio

您可以通过以下方式重新启动 VSC:

ctrl + shift + P 然后会出现一个搜索栏,然后输入:“restart”并粉碎Enter 键。

【讨论】:

【参考方案3】:

我目前正在经历这种情况。深入研究后,我发现这些包从未真正将自己安装到颤振包文件夹中。

我得到的响应是退出code 0,实际上没有报告错误。

当我输入我的导入 'package:english_words/english_words.dart'; 它只是显示为一个问题。

【讨论】:

【参考方案4】:

嗨,我有一个类似的问题,我从 dart 包文件夹中删除了一个包,当我运行 flutter pub run 时,它无法下载和工作,所以我尝试了人们所说的所有方式,但对我有用的是我尝试修复pub缓存,它工作 跑吧

flutter pub cache repair

【讨论】:

那是救命稻草! 谢谢你,reza47。当我在删除后尝试重新安装相同的软件包时遇到了同样的问题,直到我尝试了你的建议,没有任何效果 只有重新启动对我有用。但是,这有助于我解决其他类似问题!【参考方案5】:

要安装软件包,您必须在dependencies: flutter: sdk: flutter carousel_pro: ^1.0.0 之后按双输入 然后是包名称,例如:carousel_pro: ^1.0.0。 Enter、空格和后退空格在 pubspec.yaml 文件中很重要。我希望这能解决问题。

【讨论】:

它也解决了我的问题,很有趣:)【参考方案6】:

某事随机解决了它。我什么也没做,只是尝试了多次。经过大约 10 次尝试后,它下载并安装了 uuid 和 dynamic_theme。

【讨论】:

【参考方案7】:

尝试将 ^ 添加到 uuid:2.0.0 祝你好运

  // The last version is 
uuid: ^2.0.1 

【讨论】:

我试过了,它没有改变任何东西,但现在随机尝试了 10 次 flutter packages get -v 它下载了 uuid 和 dynamic_theme。【参考方案8】:

在 pubspec.yaml 点击 Pub get 它对我有用

【讨论】:

【参考方案9】:

如果您使用的是 IntelliJ 或 Android Studio,请执行以下操作:

颤抖干净

flutter 包获取

然后点击 File -> Invalidate Caches / Restart

在 IDE 重新启动后,您可能仍会遇到错误,但这次当您将代码悬停时,导入库工具提示将显示

【讨论】:

【参考方案10】:

如果您将项目文件从新创建的项目中移出(可能是因为 AndroidX 迁移),请检查您的新 pubspec.yaml 是否与前一个相同,否则您的代码将因包错误而崩溃。

【讨论】:

【参考方案11】:

当我将项目放在我的 google 驱动器文件夹中时,我遇到了同样的问题,该文件夹在路径中有一个空格。我把它移到了 android studio 文件夹,然后 pub 就可以正常工作了

【讨论】:

不知道为什么投反对票。这对我有用,似乎有点不公平 别担心,我来这里是为了通过 +1 拯救这一天 :)【参考方案12】:

我打了flutter pub get。 虽然它以退出代码 0 结束,但它无法通过智能访问我的依赖库类。

我使用 Invalidate & Restart 重新启动了 Android Studio。这解决了我的问题。

【讨论】:

【参考方案13】:

Android Studio 的一些快速修复:

    检查包名前的适当空格(非常重要
    点击Pub get或从终端运行命令flutter packages get ,然后你就可以下载这些依赖了 => 点击Get Dependencies的第一个警告

如果您仍然收到错误,请按照以下步骤操作:

    清洁应用:Android Studio > 工具 > Flutter > Flutter Clean 重启 Android Studio

【讨论】:

【参考方案14】:

Android Studio 4.1 更新(2020 年 9 月 23 日)后,内置终端无法获取新软件包。 解决方案:在管理员模式下运行命令提示符。转到您的项目目录并运行命令flutter clean,然后运行flutter pub get

【讨论】:

【参考方案15】:

在我的情况下,在颤振升级、清理、发布获取等之后没有发生任何事情。 但是当我重新启动我的项目时,它会自动获取 VS 代码中的 pub 包。

在菜单栏中,运行 => 开始调试。

【讨论】:

【参考方案16】:

我通过使用 flutter doctor --android licenses 接受 Android 许可证解决了这个问题。请注意,您必须安装 android SDK 命令行工具才能使该命令正常工作。

步骤:

通过 SDK 管理器安装命令行工具 接受安卓许可 运行 flutter pub get

【讨论】:

【参考方案17】:

在 Visual Studio 代码中,为我解决的问题是

Command+Shift+P,然后在弹窗中搜索“Dart:重启分析服务器”。

分析完成后,它就像一个魅力。

【讨论】:

以上是关于Flutter packages get 不安装新包的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 用户应该运行 `flutter packages get` 而不是 `pub get`

flutter基础

flutter http get请求

Flutter:如何在两个小部件之间传递相同的数据?

Flutter http 包不存在

使用新的 Flutter 2.2.2 版本为 Riverpod 运行“flutter pub get”时版本解决失败