In short...
-----------

First of all, why does [npm](http://npmjs.org/) suggest that it should only run as non-root? I highly disbelieve that every other package manager (`apt`, `yum`, `gem`, `pacman`) is wrong for requiring sudo.

Second, when I follow their suggestion (and run `npm install` as non-root), it won't work (because non-root doesn't have permission to /usr/local/lib). How do I follow their suggestion? I am not going to `chown -R $USER /usr/local/lib`, because that seems like a very bad idea to me.

Full description...
-------------------

I installed [npm](http://npmjs.org/) via `curl http://npmjs.org/install.sh | sudo sh` (the instruction in their README).

When I run `sudo npm install mongoose`, npm tells me not to run it as root:

```
npm ERR! sudon't!
npm ERR! sudon't! Running npm as root is not recommended!
npm ERR! sudon't! Seriously, don't do this!
npm ERR! sudon't!

```

But when I run `npm install mongoose` without sudo I get the following:

```
npm info it worked if it ends with ok
npm info using npm@0.2.17
npm info using node@v0.4.0-pre
npm info fetch http://registry.npmjs.org/mongoose/-/mongoose-1.0.7.tgz
npm info calculating sha1 /tmp/npm-1297199132405/1297199132406-0.7044695958029479/tmp.tgz
npm info shasum b3573930a22066fbf3ab745a79329d5eae75b8ae
npm ERR! Could not create /usr/local/lib/node/.npm/.cache/mongoose/1.0.7/package.tgz
npm ERR! Failed creating the tarball.
npm ERR! This is very rare. Perhaps the 'gzip' or 'tar' configs
npm ERR! are set improperly?
npm ERR!
npm ERR! couldn't pack /tmp/npm-1297199132405/1297199132406-0.7044695958029479/contents/package to /usr/local/lib/node/.npm/.cache/mongoose/1.0.7/package.tgz
npm ERR! Error installing mongoose@1.0.7
npm ERR! Error: EACCES, Permission denied '/usr/local/lib/node/.npm/.cache/mongoose'
npm ERR! There appear to be some permission problems
npm ERR! See the section on 'Permission Errors' at
npm ERR!   http://github.com/isaacs/npm#readme
npm ERR! This will get better in the future, I promise.
npm not ok

```

So it tells me I shouldn't use sudo, and then doesn't work if I follow their suggestion.

Which leads to my initial questions above.