如何检查NPM缓存是否已包含tarball

时间:2018-06-12 07:30:35

标签: node.js npm npm-install npm-cache

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

如果我跑了这个:

npm cache add lodash@x.y.z

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

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

1 个答案:

答案 0 :(得分:5)

看起来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