views:

121

answers:

1

Setting npm up as the root user is straighforward and workds. Except you have to run npm commands as root (not recommended). So I thought I'd try setting it up as a non-root user.

According to npm documentation, a non-root user without root access can set up npm by:

  1. creating a .npmrc file with root, binroot, and manroot pointing to folders that the user owns.
  2. Then running the install script.

OK. Install was fine.

But node can't see the packages provided by npm.

So how do I make node aware of the packages provided by npm? (I didn't have to do anything when I previously installed npm as root). I can set require.paths within node, or set the NODE_PATH environment variable, but to what?

Thanks.

+1  A: 

Through a little exploration, it seems you can either:

  1. set your NODE_PATH to whatever npm's root directory is, or
  2. while in node, invoke require.paths.push('path_to_npm_root')
z5h
And if you're trying to debug this from the repl, see http://github.com/ry/node/issues/closed#issue/303
keturn