【问题标题】:flutter packages get failed depends on flutter_test any from sdk which requires SDK version <2.0.0, version solving failed颤振包失败取决于来自 sdk 的 flutter_test any,它需要 SDK 版本 <2.0.0,版本解决失败
【发布时间】:2018-12-30 15:51:48
【问题描述】:

我创建了一个flutter项目,运行flutter packages get,输出如下: 【二】flutter包搞定 等待另一个颤振命令释放启动锁... 第二次运行“flutter packages get”... 当前的 Dart SDK 版本是2.0.0-dev.63.0.flutter-4c9689c1d2

Because second depends on flutter_test any from sdk which requires SDK version <2.0.0, version solving failed.
pub get failed (1)
exit code 1

flutter doctor -v

PS D:\dartstudy\second> flutter doctor -v
[√] Flutter (Channel dev, v0.5.7, on Microsoft Windows [Version 6.1.7601], locale zh-CN)
    • Flutter version 0.5.7 at E:\flutter
    • Framework revision 66091f9696 (2 weeks ago), 2018-07-09 12:52:41 -0700
    • Engine revision 6fe748490d
    • Dart version 2.0.0-dev.63.0.flutter-4c9689c1d2

[√] Android toolchain - develop for Android devices (Android SDK 28.0.1)
    • Android SDK at f:\Android\Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.1
    • ANDROID_HOME = f:\Android\Sdk
    • Java binary at: E:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at E:\Program Files\Android\Android Studio
    • Flutter plugin version 26.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] VS Code, 64-bit edition (version 1.25.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 2.16.0

[!] Connected devices
    ! No devices available

! Doctor found issues in 1 category.

我用来创建项目的 IDE 是 VS 代码。 我换了一些flutter sdk的版本,问题和上面一样,这个问题怎么解决?

【问题讨论】:

    标签: sdk flutter packages


    【解决方案1】:

    我自己找到了这个问题的解决方案,我添加了系统环境变量PUB_ALLOW_PRERELEASE_SDK=false,所以只要去掉这个系统环境变量,问题就解决了。

    【讨论】:

    • 我在执行“env”时没有那个环境变量,但仍然有这个问题。
    【解决方案2】:

    我遇到了类似的问题:

    Running "flutter packages get" in austin-feeds-me-flutter...
    The current Dart SDK version is 2.0.0-dev.58.0.flutter-f981f09760.
    
    Because austin_feeds_me depends on palette_generator any which requires SDK version >=2.0.0-dev.61.0 <3.0.0, version solving failed.
    pub get failed (1)
    Process finished with exit code 1
    

    我用以下命令修复了它:

    flutter channel dev
    flutter upgrade
    

    修正来源:https://github.com/flutter/flutter/issues/19382

    【讨论】:

    • 对于通道,Flutter 推荐使用 stablebranch。见github.com/flutter/flutter/wiki/Flutter-build-release-channels
    • 在我重新安装我的操作系统并想重新打开一个旧的颤振应用程序后,这对我有用。
    • 我不会考虑将开发频道作为稳定项目的有效解决方案
    • @RideSun 这是一个很好的警告。请谨慎使用此答案。
    【解决方案3】:

    只需将 pubspec.yaml 中的包版本修改为最新版本即可解决我的问题。

    【讨论】:

      【解决方案4】:

      只需通过这些代码更新您的 sdk

      flutter channel dev
      flutter upgrade
      

      如果你住在伊朗,你需要使用代理,因为谷歌不允许你使用它的包 对于 scoped_model,您需要在 pubspec.yaml 文件中使用它的以下版本

      dependencies:
        scoped_model: ^1.0.1
      

      然后保存文件,你的IDE会自动更新包

      【讨论】:

      • 在“您的 Flutter 应用程序是使用旧版本的 Android 嵌入创建的。它已被弃用以支持 Android 嵌入 v2。”之后我收到此错误。
      【解决方案5】:

      我知道这是一个过时的问题,但我认为有人会从中受益,而且答案是相关的而不是过时的。

      您需要修复 pubspec.yaml 中的 environment: 以允许您使用的 Dart SDK 版本(来自 Flutter 的版本)

      environment:
        sdk: ">=2.0.0-dev.68.0 <3.0.0"
      

      必不可少的部分是&lt;3.0.0

      最初由 Günter Zöchbauer 在 GitHub 上回答:- https://github.com/flutter/flutter/issues/21421#issuecomment-418718539

      【讨论】:

        【解决方案6】:

        我有同样的问题,flutter upgrade --force 解决了这个问题。

        注意:升级你的flutter版本后重新运行命令flutter pub get

        【讨论】:

          【解决方案7】:

          因此,在解决此问题时可以考虑以下一些选项:

          如果您尝试了上述解决方案,但都不起作用,那么

          1. 您的 Flutter SDK 可能存在问题,需要先解决该问题。 You have changes in your flutter SDK

          要解决此问题,请 cd 进入您的颤振目录。例如 D:\repo\flutter 使用git status找出您在此目录中的 git 更改

          使用git add * 添加这些更改(文件),然后执行git stash

          为确保您使用此频道的最新版本,请运行 flutter upgrade

          你应该可以切换到你的任何颤振频道

          保持安全。万事如意

          【讨论】:

            【解决方案8】:

            可能你的 Flutter SDK 不是最新版本。通过以下命令升级它(文档说,最好保持稳定的频道,只有在必要时才升级到 dev)

            flutter upgrade
            

            【讨论】:

              【解决方案9】:

              我通过使用 any 而不是像这样的版本代码解决了我的错误

              flutter_test: any
              

              而不是

              flutter_test: ^1.1.0+1
              

              【讨论】:

                【解决方案10】:

                只需将 Flutter 升级到最新版本即可。这解决了我的问题。

                flutter upgrade //升级flutter在CLI中输入。

                【讨论】:

                • 虽然这回答了问题,但它只是重复了先前答案中已经提供的信息。当您有足够的声誉时,您可以改为对有用的答案投票。
                【解决方案11】:

                我已经通过在测试声明上方添加integration_test 解决了这个问题,我在官方codelabs 中看到了这个解决方案:https://codelabs.developers.google.com/codelabs/flutter-app-testing#2

                如图:

                我认为这是一个更好的方法,而不是通过使用 'any' 或更改颤振通道来降级插件。

                【讨论】:

                  【解决方案12】:

                  正确检查您的“pubspect.yaml”是可能的

                  【讨论】:

                  • 有什么可能?
                  猜你喜欢
                  • 2019-02-22
                  • 2020-08-10
                  • 2019-10-10
                  • 2022-01-11
                  • 2019-08-03
                  • 1970-01-01
                  • 2022-11-07
                  • 2021-01-20
                  • 2019-05-09
                  相关资源
                  最近更新 更多