我刚刚克隆了一个 Flutter 项目的存储库,但我不知道应该使用哪个 flutter sdk 版本。我尝试了 5-6 个版本,每个版本都抛出一个错误(诸如“此函数不存在”或类似的错误。
我使用版本 3.18.0-0.1.pre (因为它在最后的 pubspec.lock 中说,并且使用该版本我能够运行该项目,但我必须更改包的版本intl 因为它抛出一个错误说:
Note: intl is pinned to version 0.18.1 by flutter_localizations from the flutter SDK.
See https://dart.dev/go/sdk-version-pinning for details.
2
Because every version of flutter_localizations from sdk depends on intl 0.18.1 and evita_mobile depends on intl ^0.19.0, flutter_localizations from sdk is forbidden.
So, because evita_mobile depends on flutter_localizations from sdk, version solving failed.
我能够运行该项目,但它无法正常工作(我无法访问超过登录页面的内容,因为验证用户身份的功能不起作用)。我认为这是因为它改变了 pubspec.lock 中的很多东西
目前我不知道是否是Flutter版本的问题,但这是我的理论,因为之前离开公司的程序员能够毫无问题地运行该项目。
啊,顺便说一句,我已经尝试了很多终端代码,例如 flutter pub get、flutter pub outdated、flutter pub Upgrade、flutter pub Upgrade --major-versions 等等。
我将把 pubspec.yaml 放在这里,因为我认为它很重要:
name: evita_mobile
description: A new Flutter project.
version: 1.0.0+1
environment:
sdk: ">=2.19.2 <3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
http: ^0.13.4
shared_preferences: ^2.0.15
intl: ^0.19.0
flutter_html: ^3.0.0-alpha.6
encrypt: ^5.0.1
file_picker: ^5.2.6
mime: ^1.0.4
path_provider: ^2.0.14
syncfusion_flutter_pdfviewer: ^21.2.3
flutter_barcode_scanner: ^2.0.0
chewie_audio: ^1.5.0
flutter_localizations:
sdk: flutter
dots_indicator: ^3.0.0
font_awesome_flutter: ^10.5.0
url_launcher: ^6.0.12
table_calendar: ^3.0.9
flutter_launcher_icons: ^0.13.1
flutter_local_notifications: ^9.0.0
permission_handler: ^10.4.5
workmanager: ^0.5.2
flutter_secure_storage: ^8.1.0
flutter_inappwebview: ^5.5.0+5
infinite_scroll_pagination: ^4.0.0
flutter_icons:
image_path: "lib/images/evita_logo.png"
android: true
ios: true
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^2.0.0
flutter:
uses-material-design: true
assets:
- lib/images/
我使用版本 3.18.0-0.1.pre (因为它在最后的 pubspec.lock 中说,并且使用该版本我能够运行该项目,但我必须更改包 intl 的版本,因为它会抛出错误。
我能够运行该项目,但它无法正常工作(我无法访问超过登录页面的内容,因为验证用户身份的功能不起作用)。我认为这是因为它改变了 pubspec.lock 中的很多东西
如果您可以打开 pubspec.lock 文件,您将能够在文件底部看到 flutter 和 dart 版本。您可以在那里将其与您的版本进行比较。
删除依赖关系问题,您可以在 pubspec.yaml 文件中检查过时的软件包或在终端中运行命令。然后运行命令将软件包升级到最新的相关版本。命令:flutter pub Upgrade --major-versions。它可能有助于解决您的问题。