【问题标题】:How to check if NPM cache already contains a tarball如何检查 NPM 缓存是否已包含 tarball
【发布时间】:2018-11-21 12:30:56
【问题描述】:

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

如果我运行这个:

npm cache add lodash@x.y.z

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

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

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

  • 知道为什么叫_cacache吗?
  • @AlexanderMills 通常首字母 _ 表示“私人”
  • 我对 'ca' 部分而不是 _ 部分更好奇
  • @AlexanderMills - ca 部分很可能是:content a地址缓存.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-05
  • 2018-11-13
相关资源
最近更新 更多