05/09/2025
🌍 Today’s DevOps Story – npm vs pnpm
So, the other day I was working on a CI/CD pipeline for a React app using Jenkins. Everything was running smooth:
👨💻 Dev pushes code →
🌐 GitHub webhook notifies Jenkins →
⚙ Jenkins pulls, builds, deploys → Done! 🚀
I was thinking, “Ha! Today I’m going to chill with some tea and snacks.” 😎
Then… 💥 BAM! The build failed.
Error: ❌ “Could not load jotai/esm/vanilla/utils.mjs”
First, I panicked and thought, “Oh no, my code is broken!”
But after digging around… surprise! The real culprit wasn’t my code—it was the package manager. 😅
I had been using pnpm, which is super strict about dependencies. Great for catching hidden bugs, but in CI/CD (especially when running as root) some modules just refuse to install. Classic headache!
💡 How I fixed it (fast & furious style):
• Switched from pnpm → npm
• Used --legacy-peer-deps to avoid peer dependency drama
• Deleted node_modules before every build for a fresh start
Result? ✅ Jenkins build passed → deployment back on track 🎉
And I happily sipped my tea ☕ while feeling like a DevOps hero.
⚖ npm vs pnpm – TL;DR version
🔹 npm
✅ Easy, works everywhere
⚠ Slower, bigger node_modules
🔹 pnpm
✅ Super fast, saves disk space
⚠ Too strict sometimes → breaks pipelines
⚠ Not fully supported everywhere
✨ Lesson learned:
Not every CI/CD failure is because of your code. Sometimes the tools are the troublemakers. Even a tiny choice—npm or pnpm—can flip your whole build upside down! 😅
👉 Have you ever faced such “funny” npm vs pnpm disasters? Share your story!
🚀 আজকের DevOps গল্প – npm vs pnpm
সম্প্রতি আমি একটা React অ্যাপের CI/CD পাইপলাইন বানাচ্ছিলাম Jenkins দিয়ে। সব ঠিকঠাক চলছিলো:
👨💻 ডেভেলপার কোড push করে →
🌐 GitHub Jenkins কে জানায় →
⚙ Jenkins কোড টেনে আনে → বিল্ড করে → ডিপ্লয় 🚀
আমি ভেবেছিলাম, “হাহ! সব smooth, আজকে খাইয়া ঘুমাবো।” 😎
কিন্তু হায়রে! 💥 একদিন হঠাৎ বিল্ড ফেইল!
এরর: ❌ “Could not load jotai/esm/vanilla/utils.mjs”
প্রথমে ভাবলাম, ওরে বাবা কোডে সমস্যা।
কিন্তু পরে বুঝলাম… আসল দোষী হলো pnpm! 😅
pnpm তো খুব কড়া dependency নিয়ে, root দিয়ে রান করলে কখনো কখনো modules ইনস্টল হয় না।
💡 ফিক্স করলাম খুব সহজেই:
• pnpm এর বদলে npm ব্যবহার করলাম
• --legacy-peer-deps দিয়ে ইনস্টল দিলাম
• প্রতিবার node_modules ডিলিট করে fresh install
ফলাফল? ✅ বিল্ড আবার সফল → Jenkins অটো ডিপ্লয় 🎉
আমি মনে মনে বললাম, “আজকে চা-বিস্কুট খাওয়া ঠিক আছে।” ☕🍪
⚖ npm vs pnpm – সহজ ভাষায়
🔹 npm
✅ সহজ, সবাই বুঝে
⚠ ধীর, node_modules বড়
🔹 pnpm
✅ দ্রুত, ডিস্ক স্পেস বাঁচায়
⚠ অনেক কড়া, মাঝে মাঝে CI/CD ভেঙে দেয়
⚠ সব টুল এখনো পুরোপুরি support করে না
✨ শেখা:
CI/CD এর সব এরর কোডের না, মাঝে মাঝে tools ও খারাপ দিন দিতে পারে।
একটা ছোট্ট decision—npm না pnpm—পুরো বিল্ড ঘুরিয়ে দিতে পারে! 😅
👉 আপনাদের কি কখনো npm vs pnpm নিয়ে এ রকম “হাস্যকর” সমস্যা হয়েছে?
🔗 Check my work / Hire me:
• Fiverr: https://lnkd.in/gza3Sv-K
• Upwork: https://lnkd.in/gdQCUjPs
• LinkedIn: https://www.linkedin.com/in/naimul3070/
📌 For more DevOps stories, tips, and laughs, follow me:
Facebook: https://www.facebook.com/naimul.devops/