When did dependency management get so complicated?
10 Jun 2013 • 2 minute readThis evening I wanted to start hacking on a project of mine, which is a simple WordPress theme. My main development machine was being used by somebody else, so I decided to boot up my old Sony Vaio running Ubuntu. It’ll be simple, I thought. I’ve just got to clone the repo, run npm install
, bower install
, and grunt build
, and I’ll be good to go. I was wrong.
First, the version of npm installed on the laptop is apparently so out-of-date that it can’t run the install. So I let it update itself (and all the other packages I have installed - why not?) with sudo npm -g update
. Being a Sunday night, my broadband connection is running spectacularly slow, so the update process takes about 10 minutes at 40kB/s. But hey, at least now I can run npm install
, right?
Nope. Now npm is throwing some errors with unhelpful messages, but that’s fine, I’ll just trawl through the error log. 5 minutes later, I figure out that ~/tmp belongs to root (probably from running npm update
as root). OK, fine, I’ll change the permissions and try again. This time npm install
works! But of course, my connection is so horribly slow and grunt has so many dependencies that the install process takes over 15 minutes.