npm 缓存清理中 -f(强制?)参数的行为是什么?
What is the behavior of -f (force?) argument in npm cache clean?
我在网上搜索过,但找不到我的问题的答案。怎么样:
npm cache clean -f
不同于:
npm cache clean
我怀疑 -f
对于 --force
是 shorthand,但即使在官方文档中我也无法找到为什么要使用 -f
,有什么好处它的缺点是什么。我确定使用-f
时会有警告,但我不知道为什么。
看看 npm cache clean 源代码:
// 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)
}
}
Link转源码:https://github.com/npm/npm/blob/master/lib/cache.js#L199
它看起来像默认缓存清理命令浏览默认 npm 缓存目录并删除除名为 -
的文件之外的所有文件。默认情况下跳过此文件,只有在强制选项中才会删除。
问题是破折号作为文件名有什么用?我在这个 question 中找到了可能的答案。根据已接受答案中提供的信息,某些程序使用 -
文件作为标准标准输出。
总结一下。标准 npm cache clean
删除除 -
文件之外的所有缓存文件,该文件有时用于存储标准输出内容。但是 npm cache clean -f
或 npm cache clean --force
会删除所有文件。
我在网上搜索过,但找不到我的问题的答案。怎么样:
npm cache clean -f
不同于:
npm cache clean
我怀疑 -f
对于 --force
是 shorthand,但即使在官方文档中我也无法找到为什么要使用 -f
,有什么好处它的缺点是什么。我确定使用-f
时会有警告,但我不知道为什么。
看看 npm cache clean 源代码:
// 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)
}
}
Link转源码:https://github.com/npm/npm/blob/master/lib/cache.js#L199
它看起来像默认缓存清理命令浏览默认 npm 缓存目录并删除除名为 -
的文件之外的所有文件。默认情况下跳过此文件,只有在强制选项中才会删除。
问题是破折号作为文件名有什么用?我在这个 question 中找到了可能的答案。根据已接受答案中提供的信息,某些程序使用 -
文件作为标准标准输出。
总结一下。标准 npm cache clean
删除除 -
文件之外的所有缓存文件,该文件有时用于存储标准输出内容。但是 npm cache clean -f
或 npm cache clean --force
会删除所有文件。