我如何知道我应该为已创建的项目使用哪个 Flutter 版本?

问题描述 投票:0回答:1

我刚刚克隆了一个 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 getflutter pub outdatedflutter pub Upgradeflutter 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 中的很多东西

flutter dart sdk flutter-dependencies
1个回答
0
投票

如果您可以打开 pubspec.lock 文件,您将能够在文件底部看到 flutter 和 dart 版本。您可以在那里将其与您的版本进行比较。

删除依赖关系问题,您可以在 pubspec.yaml 文件中检查过时的软件包或在终端中运行命令。然后运行命令将软件包升级到最新的相关版本。命令:flutter pub Upgrade --major-versions。它可能有助于解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.