【问题标题】:Flutter http package does not existFlutter http 包不存在
【发布时间】: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 解决了问题

标签: http dart flutter


【解决方案1】:

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

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

与酒吧:

$ pub get

使用颤振:

$ flutter packages get

  1. 导入 现在在您的 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 中像这样导入

  1. 转到pubspec.yaml
  2. 添加依赖http: ^0.12.0+2
  3. 点击顶部的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 提供的所有步骤后,如果问题仍然存在,请尝试以下对我有用的步骤。

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

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

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2021-04-09
                      • 2019-05-09
                      • 2020-08-22
                      • 2021-08-13
                      • 2020-01-19
                      • 1970-01-01
                      • 2021-02-07
                      • 1970-01-01
                      相关资源
                      最近更新 更多