npm is such a nightmare, how can a simple package manager be so fragile and prone to breaking?? every time i try to install something new, it's like playing dependency roulette