错误:找不到成员:'packageRoot',如何解决忽略:Flutter 中的 deprecated_member_use?
Posted
技术标签:
【中文标题】错误:找不到成员:\'packageRoot\',如何解决忽略:Flutter 中的 deprecated_member_use?【英文标题】: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
所以,我需要一个建议来解决这个问题?
【问题讨论】:
可以用最新版吗? pub.dev/packages/platform/versions/3.1.0 flutter pub 升级解决了我的问题 升级和清理后重启 android Studio 对我有用 【参考方案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】:如果以上所有解决方案都不能像我一样适合你,
如果问题立即发生,你升级你的颤振
-
运行
fluter downgrade 2.0.1 //2.0.1 means your working previous version of flutter
降级后,点击扩展按钮或使用快捷键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】:我遇到了同样的问题,我已经通过以下步骤解决了:
-
运行
flutter pub upgrade
运行flutter pub outdated
运行flutter pub clean
注意:在项目根目录和示例包中运行flutter pub clean
。
另一个重要的事情是确保你使用的是 Flutter 的稳定版本。
【讨论】:
以上是关于错误:找不到成员:'packageRoot',如何解决忽略:Flutter 中的 deprecated_member_use?的主要内容,如果未能解决你的问题,请参考以下文章
易语言的错误怎么办错误(36): 找不到指定的对象成员命令名称“创建内存”
易语言:错误(36): 找不到指定的对象成员命令名称“打开”。
易语言问题 错误(36): 找不到指定的对象成员命令名称“取文本长度”。