npm缓存包吗?

时间:2018-01-16 04:48:37

标签: node.js npm npm-install

在我的服务器中,npm不会缓存任何包,缓存目录为空。

#www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ nvm current
v9.4.0
# www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ npm config get cache
/home/www/.npm
# www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ ls
anonymous-cli-metrics.json  _cacache  _locks

我的npm配置

www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ npm config ls
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/5.6.0 node/v9.4.0 linux x64"

; node bin location = /home/www/.nvm/versions/node/v9.4.0/bin/node
; cwd = /home/www/.npm
; HOME = /home/www
; "npm config ls -l" to show all defaults.

=====的更新

我发现在node@5.0之后npm将缓存数据存储在配置缓存中的一个不透明目录中,名为_cacache。https://docs.npmjs.com/cli/cache

www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ du -h --max-depth=1
56M ./_cacache
4.0K    ./_locks
8.0K    ./node-sass
56M .

_cacache目录只有56MB

www@iZ2zefuufnen6rfx7c81u7Z:~/.npm$ npm cache verify
Cache verified and compressed (~/.npm/_cacache):
Content verified: 1164 (39196729 bytes)
Index entries: 1167
Finished in 1.321s

====的更新

我项目中的另一项测试。 运行rm -rf node_modules && npm clean cache --force后,run npm install在171.389中添加了1551个包。然后rm -rf node_modules && npm install在152.378中添加了1551个包。 npm真的使用缓存吗?

1 个答案:

答案 0 :(得分:2)

默认使用全局包缓存。如果您第一次执行" npm cache clean",您应该注意到安装时间的差异。这将清理未在全球范围内安装的任何内容,因为那些您必须明确执行" npm uninstall"