【问题标题】:How to set dependencies in the right way in pubspec.yaml in Flutter如何在 Flutter 的 pubspec.yaml 中以正确的方式设置依赖项
【发布时间】:2021-03-29 05:12:22
【问题描述】:

以下是我在 Flutter 项目中的 pubspec.yaml 文件中的一些依赖示例。

dependencies:
  flutter:
    sdk: flutter
  cloud_firestore: ^0.14.4
  firebase_core_web: ^0.2.1
  firebase_crashlytics: "^0.2.4"
  firebase_analytics: "^6.3.0"

在安装它们时,我只是遵循了安装指南。正如所见,一些依赖项的版本号在“...”中,而另一些则没有。

这两种方式似乎都有效,但我想知道正确的做法是什么。我应该始终将版本号放入“...”吗?

【问题讨论】:

    标签: flutter flutter-dependencies


    【解决方案1】:

    最好的方法是:

    flutter pub add form_field_validator
    

    其中“form_field_validator”是依赖项的名称

    看看为什么它是最好的方法:

    它会自动调整所有的依赖关系

    因此您不会收到如下所示的“版本解决失败”错误: 因为flutter_bloc: 0.21.0 依赖于提供者:^3.0.0 并且没有flutter_bloc 的版本匹配:>0.21.0

    https://pub.dev/packages/form_field_validator/install

    两种方法都可以将给定的命令复制并粘贴到您的项目目录中

    见下图:

    谢谢你,我希望它能清除一切,编码愉快!

    【讨论】:

      【解决方案2】:

      您可以提供带引号和不带引号的版本号。引号用于为依赖项提供范围约束,如下所示:

      dependencies:
        url_launcher: '>=5.4.0 <6.0.0'
      

      这就是为什么这两个选项都有效的原因。如果您不使用范围,则可以省略引号,但这取决于个人/团队的偏好。有关使用包的更多信息,请参阅the Flutter documentation

      【讨论】:

        【解决方案3】:

        如果不输入任何数字或版本号,则以最新版本为准。

        在创建新项目时,它会运行良好。但是,如果您正在重用其他项目的代码,您可能希望使用完全相同版本的依赖项,因此您需要定义它们。

        【讨论】:

        • 这是很好的信息。但是我应该把版本放在双引号之间吗?有什么推荐的方法吗?
        • 我见过大量的代码,通常归结为用户偏好。到目前为止,我还没有看到任何首选的约定。也许其他人可以对此说更多:)
        猜你喜欢
        • 2021-11-25
        • 2022-10-24
        • 2019-07-10
        • 2012-11-11
        • 1970-01-01
        • 2020-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多