npm cache clean中的-f(force?)参数的行为是什么?
我search了网页,但我无法得到我的问题的答案。 怎么:
npm cache clean -f
不同于:
npm cache clean
我怀疑-f
是-force的简写,但即使在官方文档中,我也无法find为什么会使用-f
,它有什么好处,什么是缺点。 我确定在使用-f
时有一个警告,但我不知道为什么。
看看npmcaching清理源代码:
// npm cache clean [<path>] function clean (args, cb) { assert(typeof cb === 'function', 'must include callback') if (!args) args = [] var f = path.join(npm.cache, normalize(args)) if (f === npm.cache) { fs.readdir(npm.cache, function (er, files) { if (er) return cb() asyncMap( files.filter(function (f) { return npm.config.get('force') || f !== '-' }).map(function (f) { return path.join(npm.cache, f) }), rm, cb ) }) } else { rm(f, cb) } }
链接到源代码: https : //github.com/npm/npm/blob/master/lib/cache.js#L199
它看起来像默认caching清理命令浏览默认的npmcaching目录,并删除除名为-
文件的所有文件。 这个文件在默认情况下被跳过,并且只在强制选项中被删除。
问题是什么是使用破折号作为文件名? 我在这个问题上find了可能的答案。 根据接受的答案中提供的信息,一些程序使用-
文件作为标准stdout。
总结一下。 标准npm cache clean
将除去有时用来存储标准输出内容的文件。 但是, npm cache clean -f
或npm cache clean --force
删除所有文件。