From 4def1ea1dc09f0a69e325133e87a03ade0f99a23 Mon Sep 17 00:00:00 2001 From: Kit Cambridge Date: Thu, 13 Dec 2012 10:31:33 -0800 Subject: [PATCH] Fix installation mode detection on Windows. Closes #139. The global `node_modules` directory does not exist if no modules have been installed globally, causing `realpathSync` to throw an exception. Former-commit-id: 5a59e6b53c7afe5d5c5728352e9cd722744b2247 --- build/post-install.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/build/post-install.js b/build/post-install.js index 9656f5af4..244c5e309 100644 --- a/build/post-install.js +++ b/build/post-install.js @@ -25,6 +25,9 @@ /** The media type for raw blob data */ var mediaType = 'application/vnd.github.v3.raw'; + /** Reassign `existsSync` for older versions of Node */ + fs.existsSync || (fs.existsSync = path.existsSync); + /** Used to reference parts of the blob href */ var location = (function() { var host = 'api.github.com', @@ -101,7 +104,8 @@ exec('npm -g root', function(exception, stdout) { if (!exception) { try { - var isGlobal = path.resolve(basePath, '..') == fs.realpathSync(stdout.trim()); + var root = stdout.trim(), + isGlobal = fs.existsSync(root) && path.resolve(basePath, '..') == fs.realpathSync(root); } catch(e) { exception = e; }