【问题标题】:Shared preferences in flutter giving error on pub get颤振中的共享偏好在 pub get 上给出错误
【发布时间】:2021-01-13 02:54:15
【问题描述】:

我在 Flutter 应用中添加共享首选项时开始收到此错误。它以前可以工作,现在我得到了

Because <app_name> depends on shared_preferences >=0.4.0 which requires Flutter SDK version >=0.1.4 <2.0.0, version solving failed.
pub upgrade failed (1; Because <app_name> depends on shared_preferences >=0.4.0 which requires Flutter SDK version >=0.1.4 <2.0.0, version solving failed.)
    exit code 1

这是我的 pubspec.yaml 的相关部分

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  http: "0.12.2"
  progress_dialog: ^1.2.4
  shared_preferences: ^0.5.12

我是新来的颤振,无法弄清楚。我知道它以前可以工作,但它突然开始出现此错误。

【问题讨论】:

  • 它与您当前的 Flutter SDK 版本不兼容。尝试用sdk: "&gt;=0.1.4 &lt;2.0.0"替换sdk: "&gt;=2.7.0 &lt;3.0.0"
  • 是不是没用。

标签: flutter dart sharedpreferences dart-pub


【解决方案1】:

您的 Flutter sdk 似乎没有更新。您必须通过在终端/cmd 中运行此命令来更新它:

flutter upgrade

这里有一个关于如何升级你的 Flutter sdk 版本的指南:https://flutter.dev/docs/development/tools/sdk/upgrading

【讨论】:

    【解决方案2】:

    您似乎使用了一个旧包,它取决于shared_preferences: ^ 0.4.0 和低于 2.0.0 的 sdk 版本。 httpprogress_dialog 都不依赖于 shared_preferences。如果您不在应用程序中使用其他包,请告诉我,因为这很奇怪。否则(如果您使用问题中列出的更多包)只需使用 dependency_overrides 覆盖依赖项

    environment:
      sdk: ">=2.7.0 <3.0.0"
    
    dependencies:
      flutter:
        sdk: flutter
      http: "0.12.2"
      progress_dialog: ^1.2.4
      shared_preferences: ^0.5.12
    
    dependency_overrides:
      shared_preferences: ^0.5.12
    

    【讨论】:

      【解决方案3】:

      遇到了类似的问题,我把shared_preference改成了最新版本,还有从flutter pub站点获取的path_provider。解决了我的问题

      【讨论】:

      • 如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。 - From Review
      猜你喜欢
      • 1970-01-01
      • 2020-06-11
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      • 2020-06-05
      • 2020-02-04
      • 2020-11-08
      • 2021-12-31
      相关资源
      最近更新 更多