diff --git a/packages/react-dev-utils/package.json b/packages/react-dev-utils/package.json index b4539788d2653e4a3f0012f1ddee822df6e0c355..e09e990d0b746ddf4ea7448b7bee26ad94c8cccb 100644 --- a/packages/react-dev-utils/package.json +++ b/packages/react-dev-utils/package.json @@ -41,6 +41,7 @@ "detect-port-alt": "1.1.3", "escape-string-regexp": "1.0.5", "filesize": "3.3.0", + "global-modules": "1.0.0", "gzip-size": "3.0.0", "html-entities": "1.2.1", "inquirer": "3.1.1", diff --git a/packages/react-dev-utils/printHostingInstructions.js b/packages/react-dev-utils/printHostingInstructions.js index f9882d44a7cb6bf7a951f04d1d9a2a70c3e00607..2ef25767aa231eb1bc03464115ab1c012cdf28f7 100644 --- a/packages/react-dev-utils/printHostingInstructions.js +++ b/packages/react-dev-utils/printHostingInstructions.js @@ -11,6 +11,8 @@ const chalk = require('chalk'); const url = require('url'); +const globalModules = require('global-modules'); +const fs = require('fs'); function printHostingInstructions( appPackage, @@ -121,10 +123,12 @@ function printHostingInstructions( ); console.log('You may serve it with a static server:'); console.log(); - if (useYarn) { - console.log(` ${chalk.cyan('yarn')} global add serve`); - } else { - console.log(` ${chalk.cyan('npm')} install -g serve`); + if (!fs.existsSync(`${globalModules}/serve`)) { + if (useYarn) { + console.log(` ${chalk.cyan('yarn')} global add serve`); + } else { + console.log(` ${chalk.cyan('npm')} install -g serve`); + } } console.log(` ${chalk.cyan('serve')} -s ${buildFolder}`); console.log();