Node.js npm缓存清理中-f(force?)参数的行为是什么?

Node.js npm缓存清理中-f(force?)参数的行为是什么?,node.js,caching,npm,command-line-interface,packages,Node.js,Caching,Npm,Command Line Interface,Packages,我在网上搜索过,但我找不到我问题的答案。如何: npm cache clean -f 不同于: npm cache clean 我怀疑-f是-force的缩写,但即使在官方文件中,我也无法找到为什么要使用-f,它的优点和缺点是什么。我确信在使用-f时会出现警告,但我不知道为什么。查看npm缓存清理源代码: // npm cache clean [<path>] function clean (args, cb) { assert(typeof cb === 'function

我在网上搜索过,但我找不到我问题的答案。如何:

npm cache clean -f
不同于:

npm cache clean

我怀疑
-f
-force
的缩写,但即使在官方文件中,我也无法找到为什么要使用
-f
,它的优点和缺点是什么。我确信在使用
-f
时会出现警告,但我不知道为什么。

查看npm缓存清理源代码:

// 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)
  }
}
//npm缓存清理[]
功能清理(args、cb){
断言(cb的类型==='函数','必须包含回调')
如果(!args)args=[]
var f=path.join(npm.cache,normalize(args))
if(f==npm.cache){
fs.readdir(npm.cache,函数(er,文件){
if(er)返回cb()
异步映射(
files.filter(函数(f){
返回npm.config.get('force')|f!='-'
}).map(函数(f){
返回path.join(npm.cache,f)
}),
rm,
cb
)
})
}否则{
rm(f、cb)
}
}
链接到源代码:

它看起来像是默认的cache clean命令浏览默认的npm缓存目录,并删除除名为
-
的文件之外的所有文件。默认情况下跳过此文件,并且仅在“生效”选项中删除

问题是破折号作为文件名有什么用?我从中找到了可能的答案。根据公认答案中提供的信息,一些程序使用
-
文件作为标准标准标准输出

总而言之。标准
npm cache clean
删除所有缓存文件,但
-
文件除外,该文件有时用于存储标准输出内容。但是
npm cache clean-f
npm cache clean--force
删除所有文件