Wie lösche ich den Jest-Cache?

104

Jest holt eine alte Version eines Pakets ab und daher schlagen meine Tests fehl, wenn ich sie nicht benutze --no-cache. Ich kann sogar den Paketordner aus löschen node_modulesund Jest führt die Tests gerne aus (fast alle bestehen).

Wie lösche ich den Jest-Cache?

Manuel
quelle

Antworten:

104

Sie können den Cache-Speicherort finden, indem Sie ausführen jest --showConfig. Suchen Sie nach dem cacheDirectorySchlüssel. Der Wert ist der Name des Ordners, den Sie entfernen müssen.

Edy Ionescu
quelle
121

Ab Jest 22.0.0+ können Sie die folgende --clearCacheOption verwenden:

Löscht das Jest-Cache-Verzeichnis und wird dann beendet, ohne dass Tests ausgeführt werden. Löscht cacheDirectory, wenn die Option übergeben wird, oder das Standard-Cache-Verzeichnis von Jest.

Zum einfachen Nachschlagen (gemäß @Beraliv): https://facebook.github.io/jest/docs/en/cli.html#clearcache

Ryan H.
quelle
84

Renn einfach:

jest --clearCache

Wenn Sie Jest als Abhängigkeit in Ihrem Knotenprojekt installiert haben und der jestBefehl nicht funktioniert, erstellen Sie einfach ein neues Skript in Ihrer package.jsonDatei.

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

Und dann laufen Sie in Ihrem Terminal:

npm run clear_jest

Mit modernem NPM können Sie auch ausführen (Credits an @johny ) :

npx jest --clearCache
Paulo Coghi - Monica wieder einsetzen
quelle
22
Mit modernem NPM könnten Sie auch laufennpx jest --clearCache
Johny
14

Zuerst müssen Sie die Scherzversion kennen:

yarn jest --version

Scherz> = 22.0.0

yarn jest --clearCache

Scherz <22.0.0

yarn jest --showConfig | grep cacheDir

Rückgabe (Sie müssen diesen Ordner entfernen)

      "cacheDirectory": "/tmp/jest_rs",

Dann entfernen Sie es

rm -rf /tmp/jest_rs

Wenn Sie nicht verwenden yarn, machen Sie Anweisungen mitnpx jest

pablorsk
quelle