因为sdk中的flutter_driver的每个版本都依赖于crypto2.1.5而Cruise依赖于crypto3.0.0,所以sdk中的flutter_driver是被禁止的
当我在 Fedora 32 中编译我的项目时,显示此错误:
Running "flutter pub get" in cruise-open...
Because every version of flutter_driver from sdk depends on crypto 2.1.5 and Cruise depends on crypto 3.0.0, flutter_driver from sdk is forbidden.
So, because Cruise depends on flutter_driver any from sdk, version solving failed.
pub get failed (1; So, because Cruise depends on flutter_driver any from sdk, version solving failed.)
这是我的pubspec.yaml文件:
name: Cruise
description: A RSS article read Flutter application.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
intl: 0.17.0
meta: ^1.1.8
flutter_svg: 0.19.0
logger: 0.9.4
scoped_model: ^1.1.0
shrine_images: ^1.1.2
flare_dart: 2.3.4
flare_flutter: ^2.0.2
vector_math: ^2.0.8
collection: ^1.14.0
package_info: ^0.4.0
fluttertoast: 7.1.6
flutter_staggered_grid_view: ^0.3.0
adaptive_breakpoints: ^0.0.2
cupertino_icons: 1.0.0
http: ^0.12.0+2
flutter_icons: ^1.0.0
timeago: 2.0.26
animations: 1.1.2
flutter_hooks: ^0.12.0
share: ^0.6.4+3
shimmer: 1.1.1
crypto: 3.0.0
url_launcher: 5.5.0
uni_links: 0.4.0
flutter_html: 1.2.0
shared_preferences: ^0.5.8
state_notifier: ^0.5.0
flutter_secure_storage: 3.3.3
flutter_slidable: "^0.5.5"
hive: ^1.4.1+1
pull_to_refresh: 1.6.3
intl_phone_number_input: ^0.5.0
dio: 3.0.10
fish_redux: 0.3.4
hive_flutter: 0.3.1
dev_dependencies:
flutter_test:
sdk: flutter
flutter_driver:
sdk: flutter
test:
path:
args:
grinder: ^0.8.0
pedantic: ^1.9.0
string_scanner: ^1.0.5
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
generate: true
我该怎么做才能解决它?这是颤振版本信息:
[dolphin@MiWiFi-R4CM-srv]~/Documents/GitHub/cruise-open% flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[?] Flutter (Channel stable, 2.0.1, on Linux, locale en_US.UTF-8)
[?] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[?] Chrome - develop for the web
[?] Android Studio (version 4.0)
[?] IntelliJ IDEA Community Edition (version 2020.2)
[?] VS Code (version 1.54.1)
[?] Connected device (2 available)
• No issues found!
回答
发生这种情况是因为flutter_driver空安全迁移没有及时完成。
即使它现在已经修复,它也不会在 6 月初左右(或下一个稳定频道发布)在稳定频道中发布。
同时,我们有两种解决方案:
- 使用
beta或dev频道尽快获得修复。 - 使用
dependency_overrides您的pubspec.yaml使用,以保持flutter_driver与你扑2(住在,而stable信道)。
我更喜欢第二个选择。所以我pubspec.yaml像这样编辑我的:
dependencies:
# my list of deps...
dev_dependencies:
flutter_driver:
sdk: flutter
test: any
# my other dev_deps...
# add this section
dependency_overrides:
convert: ^3.0.0
crypto: ^3.0.0
# add this section
这个解决方案对我有用。我现在可以安装flutter_driver.
这是我的参考:https : //github.com/flutter/flutter/issues/77282
THE END
二维码