首页 > 解决方案 > 如何检查 NPM 缓存是否已包含 tarball

问题描述

我正在查看缓存文档: https ://docs.npmjs.com/cli/cache

如果我运行这个:

npm cache add lodash@x.y.z

如果这是在 npm 缓存中,我以后如何检查?

npm cache get lodash@x.y.z我在文档中没有看到...

标签: node.jsnpmnpm-installnpm-cache

解决方案


看起来npm没有直接的方法来实现这一点,但这个脚本可以解决问题

创建一个文件cache.js并在下面粘贴代码

const cacache = require('cacache/en')
const cachePath = require('os').homedir()+'/.npm/_cacache'

cacache.ls(cachePath)
  .then((packages) => {
    for(const i in packages) {
      console.log(packages[i].key)
    }
  }) 

npm install cacache

然后运行

node cache.js | grep lodash

个人观点:yarn设计用于缓存npm包,如果你打算这样做,你可以给它一个机会

编辑:我制作了一个执行上述所有操作的脚本,欢迎提供任何反馈

https://www.npmjs.com/package/npm-check-cache


推荐阅读