如何对多模块 Flutter 项目中的所有包运行 flutter pub get?

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

我正在开发一个大型 Flutter 项目,其中每个功能都组织到自己的包中。在主目录中,我想运行 flutter pub get 一次安装所有包的依赖项。目前,我必须进入每个包的目录并手动运行命令。有没有办法自动执行此过程或从根目录运行 flutter pub get 跨所有模块?

我尝试过使用 shell 脚本和一些 IDE 工具,但它们似乎只适用于单个包。我希望在根目录中运行 flutter pub get 并让它级联所有子包。

flutter dependency-management clean-architecture flutter-packages modularization
1个回答
0
投票

创建工作区的最佳方法是,您需要创建一个根文件夹并在该根目录中创建一个

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

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