How to fix NPM Package Dependencies conflicts

This post is still related to my transition on using Macbook Apple Silicon, and it's about this website.

This blog is built using Gatsby.js, and the node-sass package needs to be updated and later involves other libraries with sharp dependencies to be updated and make sure that there is no mismatch with other dependencies that use it.

The fix is simple, but it could be pretty frustrating if you have never encountered this problem before.

If you must, make sure that the library is compatible with the node version you are currently running. See this post for guidance. In my case with node-sass, it needs to run on Node v15, and sharp must be upgraded to v0.28.0.

It turns out that gatsby-plugin-manifest package does not match with the sharp v0.28.0. I wonder what other packages that have sharp dependencies.

$ yarn list --pattern sharp

├─ gatsby-plugin-manifest@2.4.9
│  └─ sharp@0.25.3
├─ gatsby-plugin-sharp@2.6.9
│  └─ sharp@0.25.3
├─ gatsby-transformer-sharp@2.5.3
│  └─ sharp@0.25.3
└─ sharp@0.28.0

It will give you detailed answers, and you can decide how to adjust your dependency packages to work correctly again.

That's it!

About the author

Hey, I'm Anas, a software engineer and entrepreneur. I publish articles and tutorials about modern JavaScript, design, and programming.

Get the newsletter