Jak wyczyścić pamięć podręczną Jest?


119

Właśnie odbiera starą wersję pakietu i dlatego moje testy kończą się niepowodzeniem, chyba że ich używam --no-cache. Mogę nawet usunąć folder z pakietami, node_modulesa Jest szczęśliwy, że przeprowadza testy (prawie wszystkie pomyślnie przeszły).

Jak więc wyczyścić pamięć podręczną Jest?

Odpowiedzi:


112

Możesz znaleźć lokalizację pamięci podręcznej, uruchamiając jest --showConfig. Poszukaj cacheDirectoryklucza. Jego wartością jest nazwa folderu, który musisz usunąć.


czy jest jakiś powód, dla którego lokalizacja pamięci podręcznej powinna znajdować się poza projektem, w którym uruchamiane są testy?
obrabować

143

Od wersji Jest 22.0.0+ możesz skorzystać z --clearCacheopcji:

Usuwa katalog pamięci podręcznej Jest, a następnie kończy działanie bez uruchamiania testów. Usunie cacheDirectory, jeśli opcja zostanie przekazana lub domyślny katalog pamięci podręcznej Jest.

Dla łatwego odniesienia (zgodnie z @Beraliv): https://facebook.github.io/jest/docs/en/cli.html#clearcache


94

Po prostu biegnij:

jest --clearCache

Jeśli zainstalowałeś Jest jako zależność w projekcie węzła i jestpolecenie nie działa, po prostu utwórz nowy skrypt w swoim package.jsonpliku.

{
    ...
    "scripts:" {
        "clear_jest": "jest --clearCache"
    }
    ...
}

A następnie uruchom w swoim terminalu:

npm run clear_jest

Dzięki nowoczesnemu NPM możesz również uruchomić (kredyty dla @johny ) :

npx jest --clearCache

24
Dzięki nowoczesnemu NPM możesz również uruchomićnpx jest --clearCache
Johny

18

Najpierw musisz znać wersję jest:

yarn jest --version

jest> = 22.0.0

yarn jest --clearCache

jest <22.0.0

yarn jest --showConfig | grep cacheDir

Zwroty (musisz usunąć ten folder)

      "cacheDirectory": "/tmp/jest_rs",

Następnie go usuwasz

rm -rf /tmp/jest_rs

Jeśli nie używasz yarn, wykonaj instrukcje znpx jest

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.