When did dependency management get so complicated?10 Jun 2013 • 2 minute read
This 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
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.