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 -fnpm cache clean --force删除所有文件。