Hacker News new | ask | show | jobs
by jwl 3416 days ago
> In practice though, even the smallest toy project will pull out hundred tiny dependencies.

I had a problem with running out of inodes on my server because of the massive number of files that end up in node_modules for even a smallish project.

2 comments

NPM caused horrendous issues in my dev environment a while back. I was developing on a Windows 7 machine with my Node environment in a VirtualBox VM. I was keeping my code in a VirtualBox shared folder so I could edit it in my IDEs on the windows side and then easily run `npm install` etc. on the linux side.

Turns out, the combination of vboxsf and ntfs masquerading as a linux filesystem is not without bugs-

Sometimes, the directory depths that npm reached caused the filesystem to "soft crash", where it would just fail to do operations on files, meaning you had to run `npm install` a few times to actually grab all the dependencies.

Other times, it caused the host machine to blue screen.

One of the times this happened, it had the side effect of irreversibly corrupting my favourite programming font (Fira Code) for all JetBrains IDEs on that Windows install.

Not so much a problem now I'm not being forced to develop in Windows. But even though I dug up bugs in unrelated pieces of software / the host OS kernel, npm was still pushing that software to the limits with that crazy recursive directory structure it was attempting to build.

You don't get this shit with python!

No kidding? This is impressive!

Did you write about it somewhere?

This happens constantly on older versions of Docker.
Another classic is installing one dependency with NPM and having it blow up because it's hit the 255 character limit for file paths on Windows due to nested dependencies.