Häufige Fehler
Modul './relative-path' kann nicht gefunden werden
Wenn Sie eine Fehlermeldung erhalten, dass ein Modul nicht gefunden werden kann, kann dies verschiedene Ursachen haben:
- Sie haben den Pfad falsch geschrieben. Stellen Sie sicher, dass der Pfad korrekt ist.
- Es ist möglich, dass Sie
baseUrl
in Ihrertsconfig.json
verwenden. Vite berücksichtigttsconfig.json
standardmäßig nicht. Wenn Sie diese Funktionalität nutzen möchten, müssen Sievite-tsconfig-paths
manuell installieren.
- Es ist möglich, dass Sie
import { defineConfig } from 'vitest/config';
import tsconfigPaths from 'vite-tsconfig-paths';
export default defineConfig({
plugins: [tsconfigPaths()],
});
Alternativ können Sie Ihren Pfad so umschreiben, dass er nicht relativ zum Projekt-Stammverzeichnis ist:
- import helpers from 'src/helpers'
+ import helpers from '../src/helpers'
- Stellen Sie sicher, dass Sie keine relativen Aliase verwenden. Vite behandelt diese als relativ zur Datei, in der der Import stattfindet, anstatt zum Projekt-Stammverzeichnis.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
alias: {
'@/': './src/',
'@/': new URL('./src/', import.meta.url).pathname,
},
},
});
Worker konnte nicht beendet werden
Dieser Fehler kann auftreten, wenn die fetch
-Funktion von Node.js mit der Standardeinstellung pool: 'threads'
verwendet wird. Dieses Problem wird im Issue Timeout abort can leave process(es) running in the background #3077 verfolgt.
Als Problemumgehung können Sie zu pool: 'forks'
oder pool: 'vmForks'
wechseln.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
pool: 'forks',
},
});
vitest --pool=forks
Segmentierungsfehler und native Codefehler
Das Ausführen von nativen Node.js-Modulen in pool: 'threads'
kann zu schwer verständlichen Fehlern führen, die vom nativen Code stammen.
Segmentation fault (core dumped)
thread '<unnamed>' panicked at 'assertion failed
Abort trap: 6
internal error: entered unreachable code
In diesen Fällen ist das native Modul wahrscheinlich nicht Multi-Thread-sicher. Als Problemumgehung können Sie zu pool: 'forks'
wechseln, das die Testfälle in mehreren node:child_process
-Instanzen anstelle von mehreren node:worker_threads
-Instanzen ausführt.
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
pool: 'forks',
},
});
vitest --pool=forks