我应该有Traviscachingnode_modules或$ HOME / .npm

我很困惑哪个目录是最佳的caching。 我已经看到使用和推荐,但没有实际的比较,为什么去一个或另一个。

例如,Travis 博客 本身build议:

cache: directories: - node_modules 

然而, 成千上万的地方使用这个:

 cache: directories: - $HOME/.npm 

那么为什么要使用一个,为什么不包括两个?

我注意到cachingnode_modules文件夹导致问题(构build失败),而caching.npmcaching避免了它。 我相信这是因为.npmcaching不会在node_modules文件夹中存储已编译的本机模块。 所以当你testing不同版本的节点时,就像在Travis-CI中常见的那样,它会尝试加载一个为节点6中的节点4和barf编译的本地模块。