From 9baeac8e1db18245432660aabc4cae892376b84c Mon Sep 17 00:00:00 2001 From: abetomo Date: Tue, 2 May 2017 12:49:27 +0900 Subject: [PATCH 1/2] Added `- cwd` option to `npm install` command Because `Refusing to install node - lambda as a dependency of itself` error occurs on Windows --- lib/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/main.js b/lib/main.js index f012a6ca..5c9bc62e 100644 --- a/lib/main.js +++ b/lib/main.js @@ -288,7 +288,7 @@ Lambda.prototype._rsync = function (program, src, dest, excludeNodeModules, call Lambda.prototype._npmInstall = function (program, codeDirectory, callback) { var command = program.dockerImage ? 'docker run --rm -v ' + codeDirectory + ':/var/task ' + program.dockerImage + ' npm -s install --production' : - 'npm -s install --production --prefix ' + codeDirectory; + `npm -s install --production --prefix ${codeDirectory} --cwd ${codeDirectory}`; exec(command, { maxBuffer: maxBufferSize, env: process.env From 6d8d59ecc85f0a7f156647b423b75a8dec061cd0 Mon Sep 17 00:00:00 2001 From: abetomo Date: Mon, 8 May 2017 12:28:47 +0900 Subject: [PATCH 2/2] Fix to add `--cwd` option only for Windows --- lib/main.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/main.js b/lib/main.js index a4b49d37..619e1e3b 100644 --- a/lib/main.js +++ b/lib/main.js @@ -290,9 +290,13 @@ Lambda.prototype._rsync = function (program, src, dest, excludeNodeModules, call }; Lambda.prototype._npmInstall = function (program, codeDirectory, callback) { + const installOptions = [ + `--prefix ${codeDirectory}`, + process.platform === 'win32' ? `--cwd ${codeDirectory}` : null, + ].join(' '); var command = program.dockerImage ? 'docker run --rm -v ' + codeDirectory + ':/var/task ' + program.dockerImage + ' npm -s install --production' : - `npm -s install --production --prefix ${codeDirectory} --cwd ${codeDirectory}`; + `npm -s install --production ${installOptions}`; exec(command, { maxBuffer: maxBufferSize, env: process.env