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
55
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
Claude Agent SDK を使ってみよう
hyshu
0
1.8k
Flutterと Vibe Coding で個人開発!
hyshu
1
360
BLoCパターンとflutter_bloc
hyshu
0
140
Jasprが凄い話
hyshu
1
370
CanvasKitの描画の仕組みを調べてみる
hyshu
0
220
Other Decks in Programming
See All in Programming
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
150
CSC307 Lecture 12
javiergs
PRO
0
450
atmaCup #23でAIコーディングを活用した話
ml_bear
4
720
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
360
文字コードの話
qnighy
43
16k
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
浮動小数の比較について
kishikawakatsumi
0
370
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
160
SourceGeneratorのマーカー属性問題について
htkym
0
120
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
130
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
580
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
170
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
4 Signs Your Business is Dying
shpigford
187
22k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
280
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
190
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
400
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
We Have a Design System, Now What?
morganepeng
55
8k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
450
What does AI have to do with Human Rights?
axbom
PRO
1
2k
Marketing to machines
jonoalderson
1
5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
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͕ ɹ͋ΔͷͰࢼ͍ͨ͠ํੋඇ