我正在开发一个大型 Flutter 项目,其中每个功能都组织到自己的包中。在主目录中,我想运行 flutter pub get 一次安装所有包的依赖项。目前,我必须进入每个包的目录并手动运行命令。有没有办法自动执行此过程或从根目录运行 flutter pub get 跨所有模块?
我尝试过使用 shell 脚本和一些 IDE 工具,但它们似乎只适用于单个包。我希望在根目录中运行 flutter pub get 并让它级联所有子包。
创建工作区的最佳方法是,您需要创建一个根文件夹并在该根目录中创建一个
pubspec.yaml
,其结构如下:
name: my_workspace
environment:
sdk: ^3.5.0 # Must be ^3.5.0 or later for workspace to be allowed
workspace:
- pkgs/package_1 # The workspace-packages must be subdirectories
- pkgs/package_2
- pkgs/package_3
- app
- app2
dependencies:
dev_dependencies:
您的包裹中的
pubspec.yaml
您只需要添加 resolution:workspace
即 :
name: package_1
description: "A new Flutter package project."
version: 0.0.1
homepage:
environment:
sdk: ^3.5.3
flutter: ">=1.17.0"
resolution: workspace
请注意,这是 dart 语言的一项正在进行的工作:https://github.com/dart-lang/pub/issues/4127