Why does npm install use a different package version than our forked one?

Issue

Since a few days, our aws elastic beanstalk fails to deploy our code through npm Install.
We are using our own fork from parse-server repo, and it always worked fine.

Unfortunately it now fails without obvious reason. When looking at the instance logs it clearly shows it tries to use the original parse-server repo (on a very old branch) instead of our very own fork, but I can’t figure why.

Our package.json file indicates:

"parse-server": "git+https://github.com/hulab/parse-server.git#patched/5.3.0-hulab-2"

and our npm-shrinkwrap.json file reflects it with a

"parse-server": {
      "version": "git+https://github.com/hulab/parse-server.git#54bfd65181f19d4296f0ebea79cf3a4ab542f2fc",
      "from": "git+https://github.com/hulab/parse-server.git#patched/5.3.0-hulab-2",
...
}

Whereas the EC2 instance logs indicate failures when installing:

[email protected]:parse-community/parse-server#892c6f94d50b6dced8a5e1948e058dc7b095c914

I can’t figure out why this branch is used while not being referred to in any of our files!

Any help would be very appreciated 🙂

Solution

It is likely another dependency that points to that specific version of Parse Server.

For example, the Parse JS SDK has a devDependency for integration tests:

"parse-server": "github:parse-community/parse-server#alpha"

Since you are using a customized version of Parse Server, check the Parse JS SDK (which is a component of Parse Server), and any other Parse dependency that you added, whether they have a parse-server dependency and to where it points. In package.json you may only see the branch name but in package-lock.json of that dependency you may see the actual commit hash you are referring to.

Answered By – Manuel

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published