Flutter http 包不存在

Posted

技术标签:

【中文标题】Flutter http 包不存在【英文标题】:Flutter http package does not exist 【发布时间】:2019-05-13 16:10:52 【问题描述】:

通常应该像这样导入包:

import 'package:http/http.dart' as http;

但现在我收到此错误:

[dart] URI 的目标不存在:'package:http/http.dart'。 [uri_does_not_exist]

在 Flutter 的新更新中是否发生了某种变化?如果是这样,我现在如何执行获取请求?

【问题讨论】:

如果在 vs 代码上,如果您的颤振项目位于 Code 中打开的文件夹的子文件夹中,则可能会发生这种情况。正如您在 cmets 中看到的重新启动代码或 android studio 解决了问题 【参考方案1】:

在flutter中添加http的方法很清晰

    将此添加到包的 pubspec.yaml 文件中:
dependencies:
  http: ^0.12.0 // latest one might change
    安装它 您可以从命令行安装软件包:

与酒吧:

$ pub get

使用颤振:

$ flutter packages get

    导入 现在在您的 Dart 代码中,您可以使用:

import 'package:http/http.dart';

如果您已完成这 3 个步骤,请重新启动代码编辑器

【讨论】:

重新启动代码编辑器的部分似乎很重要。这对我有用。 重启 Android Studio 为我解决了这个问题。 我不知道重新启动后它对我不起作用。 我在使用 Visual Studio Code 时也是如此。将包添加到依赖项,重新启动工作室然后问题就解决了。【参考方案2】:

你添加到pubspec了吗?

dependencies:
  flutter:
    sdk: flutter

  http: 0.12.0

【讨论】:

我投了赞成票,因为该示例向我展示了如何使用适当的缩进添加依赖项。或者至少在我以这种方式缩进之前我没有成功。 非常感谢.. 这是我的问题。你帮了我很多 很棒的解决方案【参考方案3】:

在 Android Studio 中像这样导入

    转到pubspec.yaml 添加依赖http: ^0.12.0+2 点击顶部的Packages get

一些重要的事情:

1) 在添加依赖项时遵循正确的缩进

正确:

dependencies:
  flutter:
    sdk: flutter
  http: ^0.12.0+2

不正确:

dependencies:
  flutter:
    sdk: flutter
    http: ^0.12.0+2

如果你像这样添加依赖并点击 Packages get 那么, 您将收到错误:

pubspec.yaml 第 21 行第 5 列的错误:依赖项可能只有一个源。 sdk:颤动

2) 查找包和最新的依赖项。

你可以找到最新的HTTP包Here 所有 Dart 包都发布在 Pubsite 上,您可以在其中找到并查看趋势包。

【讨论】:

【参考方案4】:

添加:

dependencies:
flutter:
sdk: flutter
http: ^0.12.0

pubspec.yaml,更新Packages.getPackages.upgrade。如果仍然无法正常工作,请重新启动 IDE。

【讨论】:

【参考方案5】:

像这样向 pubspec 添加依赖项。

dependencies:
  http: ^0.12.0

**** 更新包获取。

**** 更新依赖项。

【讨论】:

【参考方案6】:

您的代码看起来不错。但是,在阅读了 Andrey 答案下方的 cmets 之后,您还必须确保在将 http 依赖项添加到您的 pubspec.yaml 之后运行 flutter packages getpub get

【讨论】:

也这样做了。这不是问题。 很奇怪。你能在这里提供你的pubspec.yaml吗? 解决了这个问题。重新启动IDE,包工作正常。很奇怪。【参考方案7】:
dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for ios style icons.
  cupertino_icons: ^0.1.2
  http: ^0.12.0

【讨论】:

【参考方案8】:

尝试在flutter依赖之前添加http依赖,然后点击Packages get

dependencies:
  http: ^0.12.0
  flutter:
    sdk: flutter

如果你把它放在flutter之后会出错。希望这会有所帮助

【讨论】:

【参考方案9】:

转到 pubspec.yaml 文件。然后添加

http:任意

以下依赖项:

  dependencies:
    flutter:
    sdk: flutter

    cupertino_icons: ^0.1.2
    http: any

然后点击包获取

【讨论】:

【参考方案10】:

首先,只需重新启动您的代码编辑器 插入符号 ^ 不是强制性的。您可以添加到您的pubspec.yaml

dependencies:
  http: 0.12.0+2

如果您使用的是 VSCode 或 Android Studio,则在保存文件时会自动调用flutter packages get

重启 VSCode 解决了我的问题。

【讨论】:

【参考方案11】:

从你的flutter安装目录中的.pub-cache文件夹中清除内容,然后在android studio/ VS code中创建一个空白的flutter项目并添加http依赖并点击“Packages get”。

请注意,“http”包应该在 .pub-cache\hosted\pub.dartlang.org 文件夹中生成,然后在您当前的项目中打开 pubspec.yaml 文件并单击“Packages get”,这个技巧现在应该可以解决您的问题了“http”依赖项。

注意:确保您的网络没有阻止来自 Pub 站点的下载,并且当前项目已关闭,同时在另一个项目中添加“http”依赖项。

【讨论】:

【参考方案12】:

这里的答案提到了软件包版本。如果您不知道包版本,但知道包名称(如您的情况),只需执行以下操作:

flutter pub add <package_name>

在您的情况下转换为flutter pub add http

这始终会获取您可以在项目中使用的最新包。

【讨论】:

【参考方案13】:

在完成@Bawantha 提供的所有步骤后,如果问题仍然存在,请尝试以下对我有用的步骤。

    重启你的安卓工作室。 转到颤振检查器工具栏 单击刷新小部件信息按钮。

注意:确保您拥有执行此操作的管理员权限。

【讨论】:

以上是关于Flutter http 包不存在的主要内容,如果未能解决你的问题,请参考以下文章

java 程序包com.model 不存在 (今天解决给分多)

java程序包org.apache不存在

java 中程序包不存在找不到符号 恳请大神解答

java编译中出现stsytem程序包不存在错误

java 程序包systerm不存在

安装SQLserver2012 所需的 MSI 包不存在