diff --git a/lifecycleScripts/preinstall.js b/lifecycleScripts/preinstall.js index 6d481658b..6cd912dd7 100644 --- a/lifecycleScripts/preinstall.js +++ b/lifecycleScripts/preinstall.js @@ -10,12 +10,26 @@ module.exports = function prepareForBuild() { return exec("npm -v") .then(function(npmVersion) { if (npmVersion.split(".")[0] < 3) { - console.log("[nodegit] npm@2 installed, pre-loading required packages"); + console.log("[nodegit] npm@2 installed, " + + "pre-loading required packages"); return exec("npm install --ignore-scripts"); } return Promise.resolve(); }) + .catch(function(err) { + console.log("npm install failed, change to yarn install"); + return exec("yarn --version") + .then(function(yarnVersion) { + if (yarnVersion.split(".")[0] < 1) { + console.log("[nodegit] yarn installed, " + + "pre-loading required packages"); + return exec("yarn install --ignore-scripts"); + } + + return Promise.resolve(); + }); + }) .then(function() { if (buildFlags.isGitRepo) { var submodules = require(local("submodules"));