
LaTeX Error: spawn latexmk ENOENT
LaTeX fatal error: spawn latexmk ENOENT, . PID: undefined.
Does the executable exist? PATH: [...]
Dieser Fehler ist unter MacOS (Sonoma) einfach zu beheben, wenn man sich dann doch mal durch genug Foren geklickt und Antworten ausprobiert hat …
Die Pfadvariablen kann man sich im Terminal mit echo $PATH
ausgeben lassen.
Zur Problemlösung:
Einfach unter etc/paths.d
die entsprechenden Datei, TeX
o.ä. mit sudo nano TeX
öffnen und den entsprechenden Pfad aus der Fehlermeldung angeben. Dabei kann es sein, dass bereits ein Pfad /Library/TeX/texbin
in der Datei steht. Dieser wird dann nicht mehr benötigt und sollte entfernt werden, sonst kompiliert LaTeX zwar scheinbar wieder, hat aber merkwürdige Probleme, z.B. bei \usepackage{}
-Befehlen.
Außerdem muss noch ein zweiter Pfad hinzugefügt werden, der wie folgt aussieht:
/usr/local/texlive/{year}/bin/{software_dialect}
year
und software_dialect
sind dabei von der installierten Software-Version abhängig.
Danach muss der Rechner einmal neu gestartet werden, damit die Pfadvariablen übernommen werden.
Sollte danach immer noch ein Fehler auftreten:
Es kann sein, dass nach diesen Schritten noch immer Fehler auftreten, z.B. dass kein PDF erzeugt werden konnte, weil \usepackage{}
– oder \include{}
-Befehle angeblich an einer falschen Stelle stehen und deswegen nicht kompiliert werden können. Das kann daran liegen, dass mehrere Versionen von TexLive installiert sind. Um das zu prüfen können folgende Befehle im Terminal ausgeführt werden:
which latexmk
Ausgabe ähnlich /usr/local/texlive/{year}/bin/universal-darwin/latexmk
kpsewhich -var-value=TEXMFROOT
Ausgabe ähnlich /usr/local/texlive/{year}
Unterscheiden sich die Jahresangaben, dann sind zwei verschiedene Versionen von TexLive installiert und LaTeX verwendet eine Mischform. Diese liegen im Verzeichnis /usr/local/texlive/
. Um das Problem zu beheben muss schlicht eines der beiden Verzeichnisse mit
sudo rm -rf /usr/local/texlive/{year}
entfernt werden, sodass nur noch eine Version (egal welche) existiert. Anschließend wird der Befehl
sudo mktexlsr
ausgeführt, damit die Änderung systemweit greift und LaTeX automatisch überall die noch verbleibende Version richtig setzt.
