Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Melos x Pub Workspaces で 沢山のアプリとパッケージを管理するのに 苦労した話
Search
Hayami Shuhei
April 10, 2025
Programming
1
38
Melos x Pub Workspaces で 沢山のアプリとパッケージを管理するのに 苦労した話
YOUTRUST x Omiai Flutter LT会
Hayami Shuhei
April 10, 2025
Tweet
Share
More Decks by Hayami Shuhei
See All by Hayami Shuhei
BLoCパターンとflutter_bloc
hyshu
0
94
Jasprが凄い話
hyshu
0
310
CanvasKitの描画の仕組みを調べてみる
hyshu
0
110
Other Decks in Programming
See All in Programming
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
400
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
460
XP, Testing and ninja testing
m_seki
3
210
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
820
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
210
技術同人誌をMCP Serverにしてみた
74th
1
440
ふつうの技術スタックでアート作品を作ってみる
akira888
0
190
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
150
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
950
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
330
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
200
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
GraphQLとの向き合い方2022年版
quramy
49
14k
KATA
mclloyd
30
14k
Why Our Code Smells
bkeepers
PRO
337
57k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Making Projects Easy
brettharned
116
6.3k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Balancing Empowerment & Direction
lara
1
380
Transcript
YOUTRUST x Omiai Flutter LTձ 2025/04/11 aq (Hayami Shuhei) Melos
x Pub Workspaces Ͱ ࢁͷΞϓϦͱύοέʔδΛཧ͢Δͷʹ ۤ࿑ͨ͠
എܠ • ݱࡏ6ຊͷΞϓϦΛެ։த • ͝ͱʹύοέʔδ͚ • αʔόʔଆD a rt •
ύοέʔδ100ݸҎ্ʹ વdependenciesͷखಈཧແཧ
എܠ • ͦ͜Ͱɺ1ͭͷMelosͰશͯͷdependenciesͷόʔδ ϣϯΛ·ͱΊͯཧ • rpsύοέʔδShellεΫϦϓτͱΈ߹Θͤɺ Θ͟Θ͟ݸผͷΞϓϦʹҠಈ͠ͳͯ͘ f lutter run
Ұׅ git st a tus & commit & push ͕ग़དྷΔ։ൃମ੍ʹ
• ͦΜͳதɺD a rt 3.6.0Ͱ Pub Worksp a ces ͕ొ͠ɺ
Melos 7.0.0-dev ͰରԠ͞ΕΔΑ͏ʹʢࠓͷ1݄ͷʣ • 100ݸҎ্ͷpubspec.lockͱ pubspec_overrides.y a ml ͕ Ұͭͷpubspec.lockʹͳΓ melos bootstr a p ߴԽ • ૣಋೖͯ͠ΈΔ͜ͱʹ
None
ͦͷ݁Ռ… શͯͷΞϓϦͱύοέʔδͷґଘ͕ؔҰͭͷ pubspec.lockʹʂ વ͜ͷ··ΞϓϦΛϦϦʔε͢Δͱɺ શͯͷΞϓϦʹશͯͷίʔυؚ͕·ΕΔΑ͏ʹͳͬͯ͠·͏…
ͦ͜ͰΞϓϦ͝ͱʹ Pub Worksp a ces Λઃஔͯ͠ΈΔ - pubspec.yaml (Melos &
Pub Workspaces) - appA/ - pubspec.yaml (Pub Workspaces) - (directories per package) - pubspec.yaml - appB/ - pubspec.yaml (Pub Workspaces) - (directories per package) - pubspec.yaml Ճ Ճ
- pubspec.yaml (Melos & Pub Workspaces) - pubspec.lock - appA/
- pubspec.yaml (Pub Workspaces) - (directories per package) - pubspec.yaml - appB/ - pubspec.yaml (Pub Workspaces) - (directories per package) - pubspec.yaml melos bootstr a p ࣮ߦ࣌
- pubspec.yaml (Melos & Pub Workspaces) - appA/ - pubspec.yaml
(Pub Workspaces) - pubspec.lock - (directories per package) - pubspec.yaml - appB/ - pubspec.yaml (Pub Workspaces) - (directories per package) - pubspec.yaml appA Ͱ f lutter run ࣮ߦ࣌
ʮ͜Ε৽͍͠։ൃମݧʯͱɺ ࣌ a qͷςϯγϣϯ࠷ߴை͕ͩͬͨ…
ͳΜͱ D a rt 3.6.1 Ͱ͜ͷΓํΤϥʔ͕ग़ΔΑ͏ʹ Θ͔ͣޙͷग़དྷࣄͰ͋ͬͨ
• ͜ͷΤϥʔॲཧ͕Ճ͞Εͨཧ༝ΛIssue͔ΒௐͯΈΔͱɺ ґଘؔղܾͷෆ۩߹ճආ͕తͩͬͨ • melos bootstr a p όʔδϣϯ౷Ұ͢Δ͚ͩͳͷͰେৎ https://github.com/d
a rt-l a ng/pub/pull/4446 https://d a rt.dev/tools/pub/worksp a ces#str a y- f iles
pubϦϙδτϦʔΛfork͠ɺΤϥʔϋϯυϦϯάΛίϝϯτΞτ melos༻pubspec.y a mlͱಉ͡֊ʹΫϩʔϯ͠ɺ d a rt run pub/bin/pub.d a
rt run melos Ͱ࣮ߦՄೳʹ͢Δ
melosͰ d a rt pub ͕ΘΕ͍ͯΔͷͰforkͯ͠ d a rt run
pub/bin/pub.d a rt ʹஔ dev_dependenciesʹՃ͠ (p a th: p a ck a ges/melos) rpsʹొͯ͠ rps melos <໋ྩ> ͰݺΔΑ͏ʹͨ͠
pubspec.y a mlʹҎԼͷઃఆΛՃ (rps d a rt pub glob a
l a ctiv a te)
ཧͷMelos͕ੜ • rps melos bs ͰશύοέʔδͷόʔδϣϯΛ౷Ұ • ͍ͭͰʹෆཁͳpubspec.lockͱ.d a rt_toolsআͯ͘͠ΕΔ
• forkͨ͠pubͱmelosmelosίϚϯυͰͷΈ༻͢ΔͷͰɺ f lutterd a rtͷϏϧυʹӨڹΛ༩͑ͳ͍ • (ࣗݾͰ͓ئ͍͍ͨ͠·͢)
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ X: @aqhayami GitHub: @hyshu ↑ forkͨ͠pubͱmelos͕ ɹ͋ΔͷͰࢼ͍ͨ͠ํੋඇ