4 ms·
This problem does happen, but committing node_modules won't fix it. Assuming the npm registry doesn't dissapear, npm will download the exact same files you woul
by johnsoft 5y ago
This problem does happen, but committing node_modules won't fix it. Assuming the npm registry doesn't dissapear, npm will download the exact same files you would have committed to your repo. Wherever those files came from, 4 years later you upgraded your OS, and now the install step will fail (in my experience usually because of node-gyp).
Unless you were talking about committing compiled binaries as well, in which case every contributor must be running the same arch/OS/C++ stdlib version/etc. M1 laptops didn't exist 4 years ago. If I'm using an M1 today, how can I stand up this 4 year old app?
The real problem is reproducible builds, and that's not something git can solve.
- jasonkester 5y agoAssuming the npm registry doesn't dissapear, npm will download the exact same files you would have committed to your repo I think that’s where you missed what the gp is saying. If everything is checked in to source control, npm will have nothing to download. You won’t need to call npm install at all, and if you do it will just return immediately saying everything is good to go already. The workflow for devs grabbing a 10 year old project is to check it out then npm start it.
- johnsoft 5y agoYou are probably not running the same OS/node/python version as you were 10 years ago. If you were to try this in real life, you'd get an error like this one. https://stackoverflow.com/questions/68479416/upgrading-node-version-throws-node-sass-error-when-trying-to-build https://stackoverflow.com/questions/68479416/upgrading-node-.... The error helpfully suggests you: >Run `npm rebuild node-sass` to download the binding for your current environment. Download bindings? Now you're right back where you started. https://cdn140.picsart.com/300640394082201.jpg https://cdn140.picsart.com/300640394082201.jpg Of course if you keep a 10 year old laptop in a closet running Ubuntu 10.04 and Node 0.4, and never update it through the years, then your suggestion will work. But that workflow isn't for me.