diff --git a/packages/midway-bin/lib/cmd/clean.js b/packages/midway-bin/lib/cmd/clean.js index 4d5bda137cbb..598697499db3 100644 --- a/packages/midway-bin/lib/cmd/clean.js +++ b/packages/midway-bin/lib/cmd/clean.js @@ -2,9 +2,9 @@ const Command = require('egg-bin').Command; const rimraf = require('mz-modules/rimraf'); -const cp = require('child_process'); const path = require('path'); const fs = require('fs'); +const fseExtra = require('fs-extra'); class CleanCommand extends Command { constructor(rawArgv) { @@ -27,17 +27,18 @@ class CleanCommand extends Command { async cleanDir(cwd) { await new Promise((resolve, reject) => { - cp.exec('find . -type d -name \'logs\' -or -name \'run\' -or -name \'.nodejs-cache\' | xargs rm -rf', { - cwd, - }, error => { - if (error) { - console.error(`[midway-bin] exec error: ${error}`); - reject(error); - return; - } + const rmDirName = [ 'logs', 'run', '.nodejs-cache' ]; + try { + rmDirName.forEach(name => { + fseExtra.removeSync(path.join(cwd, name)); + }); console.log('[midway-bin] clean midway temporary files complete!'); resolve(); - }); + } catch (error) { + console.error(`[midway-bin] exec error: ${error}`); + reject(error); + return; + } }); const pkg = require(path.join(cwd, 'package.json'));