【问题标题】:How to import intl library in Flutter?如何在 Flutter 中导入 intl 库?
【发布时间】:2019-01-13 07:11:23
【问题描述】:

我是 Flutter 的新手。当我导入库时: import 'package:intl/intl.dart'; ,它说 the target of URI doesn't exist:package:intl/intl.dart;

【问题讨论】:

  • 只是为了仔细检查,您确实 import intl: ^0.15.7 into pubspec.yaml;三重检查它前面是否有四个空格(不多也不少);你跑包搞定了?此外,将注意力放在 main.dart 的选项卡上,然后点击绿色箭头来运行它。有时您会在屏幕顶部看到一个弹出栏,告诉您 pubspec.yaml 已更改,您需要从该链接再次运行它才能使用。 (我在 IntelliJ 中看到过)如果这没有帮助,请告诉我们。
  • 现在可以使用了。谢谢!但它仍然显示红色下划线。有没有办法解决它? @scottstoll2017
  • 如果在项目窗口的publspec.yaml下显示红线但一切正常,这是分析中的错误。忽略它,但是是的,他们确实知道并正在努力。它经常出现,因为出于某种原因,pubspec.yaml 说您的资产目录不存在,即使您可以毫无问题地访问资产。
  • @scottstoll2017 不,它显示在 main.dart 下(如我的问题中的图片所示)
  • 问题解决了!我扑腾干净没有做任何事情。我刚重启 IntelliJ,红线不见了

标签: flutter dart intl flutter-intl


【解决方案1】:

让 IDE 为你做这件事:

flutter pub add intl

运行上述命令后,它将使用可用的最新版本解决依赖关系。

手动流程

1) 在依赖项字段下的pubspec.yaml 文件中添加包:

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2
  intl: ^0.17.0   // Add this line

2) 在终端执行以下命令:

flutter packages get

3) 在你的 dart 文件中导入包:

import 'package:intl/intl.dart';

【讨论】:

    【解决方案2】:

    此错误是因为您的 SDK 版本较旧。

    只需在您的酒吧中的某些点回退到国际版本 intl: ^0.17.0 ---> intl: ^0.16.1 或任何其他旧版本,如 intl: ^0.15.1 等

    【讨论】:

      【解决方案3】:

      将此添加到您的包的pubspec.yaml 文件中:

      dependencies:
        intl: ^0.16.1
      

      intl 包需要正确配置才能在 Flutter 上运行,并且您必须以正确的方式导入它,否则它会加载浏览器版本,

      当你导入它时,不要使用import 'package:intl/intl_browser.dart';,insead 使用下面的(每个都有它的用途,所以请参阅最适合你的文档):

      import 'package:intl/date_symbol_data_local.dart';
      import 'package:intl/intl.dart';
      import 'package:intl/intl_standalone.dart';
      

      同时检查您是否使用最新版本的intl 库并执行flutter clean

      【讨论】:

        【解决方案4】:

        当你导入任何包时,例如:

        import 'package:intl/intl.dart';
        

        您还需要在dependencies 字段示例下的pubspec.yaml 文件中添加包:

        dependencies:
          intl: ^0.15.7
        

        然后你可以从终端执行以下命令:

        flutter packages get
        

        来自 Android Studio/IntelliJ:

        pubspec.yaml顶部的操作功能区中单击Packages Get

        更多信息在这里:

        https://flutter.io/using-packages/

        【讨论】:

          【解决方案5】:

          仔细检查一下,您确实 import intl: ^0.15.7 into pubspec.yaml;三重检查它前面是否有四个空格(不多也不少);然后你跑了包获取?

          另外,将注意力放在 main.dart 的选项卡上,然后点击绿色箭头来运行它。有时您会在屏幕顶部看到一个弹出栏,告诉您 pubspec.yaml 已更改,您需要从该链接再次运行它才能使用。 (我在 IntelliJ 中看到过)

          此外,如果它在项目窗口中的 publspec.yaml 下显示红线但一切正常,则这是分析中的错误。忽略它,但是是的,他们确实知道并正在努力。它经常在那里,因为出于某种原因,pubspec.yaml 说您的资产目录不存在,即使您可以毫无问题地访问资产。

          【讨论】:

            猜你喜欢
            • 2021-09-17
            • 1970-01-01
            • 2017-07-10
            • 2021-06-03
            • 2019-04-12
            • 2020-02-28
            • 1970-01-01
            • 2018-10-29
            相关资源
            最近更新 更多