Node-RED – vyčištění NPM cache

Pokud používáte Node-RED delší dobu a zkoušíte instalovat různé pluginy a následně je zase odebíráte, tak vše zůstává zálohou v tzv. NPM cache. Tato slouží primárně k úspoře internetového připojení, aby se znovu nemusely stahovat balíčky v případě opětovné instalace. V rámci tohoto návodu si ukážeme, co s tím.

V návaznosti na výše napsané je zřejmé, že dochází k ukládání nepotřebných souborů, které se mohou běžně stáhnout znova z internetu. Toto má za následek neefektivní využívání místa na disku, potažmo to uměle navyšuje samotnou denní zálohu, používáte-li IOTstack Backup. Adresář NPM cache je totiž směřovaný do ~/IOTstack/volumes/nodered/data/.npm/_cacache. V mém případě byla záloha o velikosti nějakých 250 MB a právě díky samotnému navýšení jsem hledal, co je špatně.

Naštěstí řešení není až tak složité a nabízí se dvě varianty, které si popíšeme.


Pro obě dvě varianty platí společný začátek, tedy tím začneme. Tak jako vždy, připojením se přes SSH do CLI a následujícím příkazem se připojíme do shellu samotného Node-RED běžícího v kontejneru Dockeru (je potřeba mít nainstalované funkční IOTstack Aliasy!):

NODERED_SHELL

Začátek příkazové řádky by se měl změnit na bash-5.0#.

Poté si již můžeme vybrat variantu dle libosti. Můžete také nejprve použít defragmentaci, která vám ukáže reálně obsazené místo, kolik se podařilo ušetřit a následně vše smazat.


„Defragmentace“

Nyní zadejte příkaz:

npm cache verify --cache /data/.npm

Systém odpoví něco v tomto smyslu:

Cache verified and compressed (/data/.npm/_cacache): 
Content verified: 1481 (200814574 bytes)
Content garbage-collected: 687 (46017485 bytes)
Index entries: 2447
Finished in 10.823s

V závorkách vidíte reálně obsazené místo, tedy v druhém řádku celkové, ve třetím ušetřené vymazáním nepotřebných balíčků.


Vymazání cache

Pro kompletní vymazání cache zadejte příkaz:

npm cache clean --force --cache /data/.npm

Pro ověření kompletního vymazání můžete využít opětovné zadání příkazu z bodu „defragmentace„, které zobrazí v závorkách samé nuly.


Nakonec ukončíme shell Node-RED příkazem exit.

Zanechat komentář