Flutter - v 1.24.0 到 2.0.5 - pubspec.yaml 版本问题

时间:2021-04-23 15:41:56

标签: flutter version

我已经下载了 flutter_windows_2.0.5-stable.zip 并安装了 Flutter 2.0.5。

当我运行一个 v1.24.0 项目时,我得到以下输出:

Running "flutter pub get" in get_json ...
The current Dart SDK version is 2.12.0-29.10.beta.
Because flutter_easyloading 3.0.0 requires SDK version >=2.12.0 <3.0.0 and no versions of flutter_easyloading match >3.0.0 <4.0.0, flutter_easyloading ^3.0.0 is forbidden.
So, because get_json depends on flutter_easyloading ^3.0.0, version solving failed.
pub get failed (1; So, because get_json depends on flutter_easyloading ^3.0.0, version solving failed.)

pubspec.yaml 的内容:

dependencies:
  flutter:
    sdk: flutter

  http: ^0.12.2
  json_annotation: ^2.0.0 #^4.0.1
  rflutter_alert:  ^1.1.0 #^2.0.2
  pdf_flutter: ^1.1.4
  syncfusion_flutter_pdfviewer: ^18.4.49-beta
  webview_flutter:  ^1.0.7 #^2.0.4
  flutter_easyloading: ^3.0.0
  cupertino_icons: ^1.0.1

dev_dependencies:
  flutter_test:
    sdk: flutter

  build_runner: ^1.0.0
  json_serializable: ^2.0.0 #^4.1.1

环顾互联网我发现 Update to/install latest Flutter packages (pubspec.yaml)

最后说在 Flutter 2 中它将有助于运行 1 家扑朔迷离的酒吧已经过时, 2 flutter pub upgrade --major-versions

运行 1 个“flutter pub outdated”会得到大量输出并以:

Changed 75 dependencies!
25 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
No changes to pubspec.yaml!

运行 2 "flutter pub upgrade --major-versions" 也给出了很多输出并以:

...
No dependencies changed.
25 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
Changed 4 constraints in pubspec.yaml:
  json_annotation: ^2.0.0 -> ^4.0.1
  rflutter_alert: ^1.1.0 -> ^2.0.2
  webview_flutter: ^1.0.7 -> ^2.0.4
  json_serializable: ^2.0.0 -> ^4.1.1

pubspec.yaml 更改为:

dependencies:
  flutter:
    sdk: flutter

  http: ^0.12.2
  json_annotation: ^4.0.1 #^4.0.1
  rflutter_alert: ^2.0.2 #^2.0.2
  pdf_flutter: ^1.1.4
  syncfusion_flutter_pdfviewer: ^18.4.49-beta
  webview_flutter: ^2.0.4 #^2.0.4
  flutter_easyloading: ^3.0.0
  cupertino_icons: ^1.0.1

dev_dependencies:
  flutter_test:
    sdk: flutter

  build_runner: ^1.0.0
  json_serializable: ^4.1.1 #^4.1.1

现在我再次尝试运行我的(旧)项目,结果如下:

Running "flutter pub get" in get_json...
The current Dart SDK version is 2.12.0-29.10.beta.
Because no versions of json_serializable match >4.1.1 <5.0.0 and json_serializable 4.1.1 requires SDK version >=2.12.0 <3.0.0, json_serializable ^4.1.1 is forbidden.
So, because get_json depends on json_serializable ^4.1.1, version solving failed.
pub get failed (1; So, because get_json depends on json_serializable ^4.1.1, version solving failed.)

我尝试了上述内容的许多变体,但我被卡住了。

任何人都可以帮助或指导我朝着正确的方向前进吗?谢谢。

================================

感谢 Ujjwal Raijada。由于网络支持,我得到了 Flutter 2,并没有考虑空安全。但是,我现在已经按照迁移指南进行了详细说明,现在有了以下 pubspec.yaml:

environment:
  sdk: '>=2.12.0 <3.0.0'

dependencies:
  flutter:
    sdk: flutter

  http: ^0.13.1
  json_annotation: ^4.0.1
  rflutter_alert: ^2.0.2
  #pdf_flutter: ^1.1.4 # Package pdf_flutter is not null safe and therefore cannot be used ...
  syncfusion_flutter_pdfviewer: ^19.1.57-beta
  webview_flutter: ^2.0.4
  flutter_easyloading: ^3.0.0
  cupertino_icons: ^1.0.2

dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner: ^2.0.1
  json_serializable: ^4.1.1

我还按照迁移指南的建议更改了我的代码。所以现在我运行“flutter packages pub run build_runner build”,结果是:

The pubspec.yaml file has changed since the pubspec.lock file was generated, please run "pub get" again.
pub finished with exit code 65

在 pubspec.yaml 中按“pub get”会得到以下结果:

The current Dart SDK version is 2.12.0-29.10.beta.
Because get_json requires SDK version >=2.12.0 <3.0.0, version solving failed.
pub get failed (1; Because get_json requires SDK version >=2.12.0 <3.0.0, version solving failed.)
Process finished with exit code 1

我现在该怎么办?有什么帮助吗?谢谢。

0 个答案:

没有答案