【问题标题】:Error: Member not found: 'packageRoot', how to solve ignore: deprecated_member_use in Flutter?错误:找不到成员:'packageRoot',如何解决忽略:Flutter 中的 deprecated_member_use?
【发布时间】:2022-01-18 15:39:50
【问题描述】:

在我的flutter项目中,我做了一些插件的更新,然后使用了flutter upgrade。之后,每当我运行我的颤振项目时,它都会显示以下错误-

    /C:/src/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/platform-3.0.2/lib/src/interface/local_platform.dart:46:19: Error: Member not found: 'packageRoot'.
          io.Platform.packageRoot; // ignore: deprecated_member_use
                      ^^^^^^^^^^^ FAILURE: Build failed with an exception.

* Where: Script 'C:\src\flutter\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1102

* What went wrong: Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command 'C:\src\flutter\flutter\bin\flutter.bat'' finished with non-zero exit value 1

* Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 20s Exception: Gradle task assembleDebug failed with exit code 1

所以,我需要一个建议来解决这个问题?

【问题讨论】:

标签: android ios flutter dart


【解决方案1】:

你需要升级你的依赖来解决这个问题,所以运行:

flutter pub upgrade

如果这仍然不起作用,则意味着您遇到了来自platform 的传递依赖的问题(platform 的版本低于3.1.0 有这个问题)。因此,像这样覆盖 pubspec.yaml 文件中的 platform 包:

dependency_overrides:
  platform: ^3.1.0

【讨论】:

  • 我刚刚看到path_provider transitive dependency 也在使用platform: 3.0.0,不幸的是,path_provider: 2.0.8 的最新更新并没有解决这个问题,所以你需要覆盖依赖正如我在第二部分中提到的。
  • 实际上@CopsOnRoad 事实证明path_provider 具有platform: ^3.0.0 而不是platform: 3.0.0 的依赖关系,因此只需执行flutter pub upgrade 即可,并且这种情况不需要覆盖.
  • @Maks 我的意思是它已解决到有这个问题的platform: 3.0.0。但我不确定flutter pub upgrade 是否真的可以升级传递依赖。那我会更新我的答案,谢谢
  • 谢谢,我也在用path_provider: 2.0.8。我做了flutter pub upgrade 然后做了flutter run 然后它显示了一个不同的错误。显示颤振修复提示将ext.kotlin_version 更改为最新(kotlinlang.org/docs/gradle.html#plugin-and-versions),在我的情况下为1.6.10。然后我再次运行flutter run,问题就解决了。所以对我来说,不需要platform: ^3.1.0
  • 已确认。 flutter pub upgrade 帮助了。特别是在切换分支时,旧的没有最新的依赖关系。
【解决方案2】:

尝试在 pubspec.yaml 文件中添加

dependencies: // under dependencies:
  platform: ^3.1.0

然后运行flutter pub get

【讨论】:

    【解决方案3】:

    唯一可以帮助我的是从项目文件夹中删除pubspec.lock 文件,然后才运行

    flutter clean
    
    flutter pub get
    

    【讨论】:

    • 这里也一样。在我删除 pubspeck.lock 之前,我永远无法完成这项工作。很好的见解,谢谢。
    【解决方案4】:
    flutter pub upgrade
    
    flutter clean
    
    flutter pub get
    

    【讨论】:

    • 我的颤振版本 2.10.1 对我不起作用
    【解决方案5】:

    对我来说,清洁和获取包裹没有用。这个错误是在我升级颤振后开始的。我在主频道上,对我来说一个快速的解决方法是切换到稳定版。

    flutter channel stable
    flutter upgrade
    

    也许有更好的解决方案,直接处理平台包。

    【讨论】:

    • 我关闭了 VSCode 然后清理并发布。然后它就像一个魅力。
    • 在依赖项下添加这个=>依赖项:平台:^3.1.0。这应该是正确答案
    【解决方案6】:

    首先,运行

    flutter pub 已过时

    然后

    flutter pub 升级 --major-versions

    【讨论】:

      【解决方案7】:

      我用一个命令修复了它:

      $ flutter pub cache repair
      

      【讨论】:

        【解决方案8】:

        我修好了: compileSdkVersion 31, 并升级 kotlin-version

        【讨论】:

        • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
        【解决方案9】:

        如果以上所有解决方案都不能像我一样适合你,

        如果问题立即发生,你升级你的颤振

        1. 运行fluter downgrade 2.0.1 //2.0.1 means your working previous version of flutter
        2. 降级后,点击扩展按钮或使用快捷键Ctrl+SHIft+X,然后卸载并重新安装Flutter和Dart。

        这对我有用。

        【讨论】:

          【解决方案10】:

          对于 Flutter iOS 用户:

          运行以下命令后:

          flutter channel stable
          flutter upgrade
          flutter pub upgrade
          

          完成该过程后,尝试

          pod repo update
          pod install
          

          pod install --repo-update
          

          它对我有用。希望对您有所帮助。

          【讨论】:

            【解决方案11】:

            我遇到了同样的问题,我已经通过以下步骤解决了:

            1. 运行flutter pub upgrade
            2. 运行flutter pub outdated
            3. 运行flutter pub clean

            注意:在项目根目录和示例包中运行flutter pub clean

            另一个重要的事情是确保你使用的是 Flutter 的稳定版本。

            【讨论】:

              猜你喜欢
              • 2022-01-20
              • 1970-01-01
              • 2021-03-09
              • 1970-01-01
              • 2021-04-07
              • 2020-11-24
              • 2014-09-24
              • 2012-03-02
              • 2020-07-09
              相关资源
              最近更新 更多