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
删除所有文件