2 module.exports = exports = remove
4 exports.usage = 'Removes the node development files for the specified version'
10 var fs = require('fs')
11 , rm = require('rimraf')
12 , path = require('path')
13 , log = require('npmlog')
14 , semver = require('semver')
16 function remove (gyp, argv, callback) {
18 var devDir = gyp.devDir
19 log.verbose('remove', 'using node-gyp dir:', devDir)
21 // get the user-specified version to remove
22 var version = argv[0] || gyp.opts.target
23 log.verbose('remove', 'removing target version:', version)
26 return callback(new Error('You must specify a version number to remove. Ex: "' + process.version + '"'))
29 var versionSemver = semver.parse(version)
31 // flatten the version Array into a String
32 version = versionSemver.version
35 var versionPath = path.resolve(gyp.devDir, version)
36 log.verbose('remove', 'removing development files for version:', version)
38 // first check if its even installed
39 fs.stat(versionPath, function (err, stat) {
41 if (err.code == 'ENOENT') {
42 callback(null, 'version was already uninstalled: ' + version)
48 // Go ahead and delete the dir
49 rm(versionPath, callback)