Browse Source

Revert "startup: use `path.resolve` instead of `path.join(cwd, ...)`"

This reverts commit b0c1541227.

Reverted commit introduced a regression causing `process.argv[0]` to be
invalid in node processes spawned from `PATH` (without explicit path to
executable file - for example when using global node installation).

Instead of finding a correct path to the executable, `process.cwd()`
would be prepended to `process.argv[0]`.
v0.9.1-release
Maciej Małecki 13 years ago
committed by isaacs
parent
commit
27a937bcf8
  1. 8
      src/node.js

8
src/node.js

@ -433,14 +433,18 @@
startup.resolveArgv0 = function() { startup.resolveArgv0 = function() {
var cwd = process.cwd(); var cwd = process.cwd();
var isWindows = process.platform === 'win32';
// Make process.argv[0] into a full path, but only touch argv[0] if it's // Make process.argv[0] into a full path, but only touch argv[0] if it's
// not a system $PATH lookup. // not a system $PATH lookup.
// TODO: Make this work on Windows as well. Note that "node" might // TODO: Make this work on Windows as well. Note that "node" might
// execute cwd\node.exe, or some %PATH%\node.exe on Windows, // execute cwd\node.exe, or some %PATH%\node.exe on Windows,
// and that every directory has its own cwd, so d:node.exe is valid. // and that every directory has its own cwd, so d:node.exe is valid.
var path = NativeModule.require('path'); var argv0 = process.argv[0];
process.argv[0] = path.resolve(process.argv[0]); if (!isWindows && argv0.indexOf('/') !== -1 && argv0.charAt(0) !== '/') {
var path = NativeModule.require('path');
process.argv[0] = path.join(cwd, process.argv[0]);
}
}; };
// Below you find a minimal module system, which is used to load the node // Below you find a minimal module system, which is used to load the node

Loading…
Cancel
Save