Allgemein,  Programmieren,  Studium

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.

23390cookie-checkLaTeX Error: spawn latexmk ENOENT

Leave a Reply

Your email address will not be published. Required fields are marked *