对于国内学习Flutter
的普通开发者来说,《Flutter实战·第二版》是非常棒的学习资料。
其率先更新了Flutter 3
的内容,并且对书本内容进行了开源。在此推荐阅读,并且希望有能力的读者可以进行购买实体书以支持作者。
书中第十五章节中给到了一个实战项目GitMe,读者在编译运行该项目时可能会遇见一些问题,在此记录下来,节省初学者时间。
拉取依赖报错
错误1
flutter pub get
Resolving dependencies...
Because gitme depends on json_model from path which doesn't exist (could not find package json_model at "../../json_model"), version solving failed.
报错原因
在依赖管理文件pubspec.yml
中有如下内容:
json_model:
path: ../../json_model
这里对于json_model
依赖使用了Path dependency的引入方式,目录是../../json_model
,但是作者并没有在git仓库中上传该部分,所以无法读取到对应依赖。
解决方案
修改上述提到的pubspec.yml
文件中的内容为:
json_model: ^1.0.0
错误2
flutter pub get
Resolving dependencies... (1.2s)
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.
Because every version of flutter_localizations from sdk depends on intl 0.18.1 and gitme depends on intl ^0.17.0, flutter_localizations from sdk is forbidden.
So, because gitme depends on flutter_localizations from sdk, version solving failed.
You can try the following suggestion to make the pubspec resolve:
* Try upgrading your constraint on intl: flutter pub add intl:^0.18.1
报错原因
这个其实很好理解,错误信息已经给了很明确的提示了。
解决方案
将pubspec.yml
文件中intl: ^0.17.0
升级为intl: ^0.18.1
。
无法在windows平台运行
这个也是比较好办的,应该是作者在创建项目之初没有增加对windows平台的支持,执行以下命令即可无损增加对windows平台的支持。
flutter create --platforms=windows .
增加更多平台支持可以参考Add desktop support to an existing Flutter app
。