Change npm-debug.log location

node.js, npm

Solution

Update:

npm pull request #6744 tries to move `npm-debug.log` from cwd into the cache folder.

Original Answer:

There doesn't seem to be a way to do this. It is hardcoded:

In `error-handler.js`

if (wroteLogFile) {
  log.error("", [""
            ,"Additional logging details can be found in:"
            ,"    " + path.resolve("npm-debug.log")
            ].join("\n"))
  wroteLogFile = false
}
log.error("not ok", "code", code)

And other occurrences as well.

I don't think this flexibility would fit into `npm`'s philosophy see isaacs comment:

`npm config set prefix`?

If you want to spell "node_modules" differently, sorry, no can do. That's built into node-core. Changing that is tantamount to building a completely different package manager.

Problem

When I run `npm start` and there is some error, it says: ``` npm ERR! Additional logging details can be found in: npm ERR! /home/hsz/Projects/project/npm-debug.log npm ERR! not ok code 0 ``` And this file is located in a directory from which I have called `npm`. Is it possible to set `npm-debug.log` output file to `./logs/npm-debug.log` ?

Original source