Ich habe MacTeX 2020 installiert und kann ConTeXt nicht zum Laufen bringen (funktioniert aber auf einem anderen Rechner, auf dem ich von MacTeX 2019 aktualisiert habe). Der Fehler ist:
$ context file.tex
mtx-context | warning: no format found, forcing remake (commandline driven)
[…] snip lots of lines
resolvers | formats | changing to format path '/var/folders/rj/hfjmjx796q102y4v23vh038c0000gp/T/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/formats/luatex'
resolvers | formats | unable to change to format path '/var/folders/rj/hfjmjx796q102y4v23vh038c0000gp/T/luatex-cache/context/a86c089b384a3076dc514ba966a1fac9/formats/luatex'
mtx-context | error, no format found with name: cont-en, aborting
system | total runtime: 5.315 seconds
ich leseMark IV ausführenaus dem Wiki und versuchte, auszuführen
context --make
context --make cont-en
aber sie beenden mit der gleichen unable to change to format path
Meldung. Ich nehme an, das ist das Kernproblem. Nachdem ich diese Befehle ausgeführt habe, erhalte ich immer noch den gleichen Fehler, wenn ich versuche, mein PDF zu erstellen.
Wie kann ich das beheben?
Antwort1
Die Lösung für dieses Problem habe ich von der ConTeXt-Mailingliste erhalten (Link zum Thread), ich zitiere daraus:
Diese Meldungen kommen aus der Mitte der Datei luat-fmt.lua (Zeilen 180 und 183 auf meinem System), wenn ConTeXt versucht, das Arbeitsverzeichnis zu ändern (das bedeutet „ändern“ in diesem Zusammenhang, einfach in ein anderes Verzeichnis wechseln, wie bei cd oder chdir). Der entsprechende Auszug ist
report_format("changing to format path %a",validformatpath) lfs.chdir(validformatpath) if dir.current() ~= validformatpath then return fatalerror(startupdir,"unable to change to format path %a",validformatpath) end
In Ihrem Fallgültiger Formatpfadist ein Unterverzeichnis von
$TMPDIR
unter/var/folders/
. Wenn Ihr Mac jedoch meinem ähnelt,/var
ist tatsächlich ein symbolischer Link zu/private/var
, sodassdir.current()
ein Pfad gemeldet wird, der mit beginnt,/private
und der Test fehlschlägt.Sie können dies umgehen, indem Sie
TMPDIR
einen anderen Wert festlegen, der nicht mit/var
– beginnt, und/tmp
auch nicht mit „, da dies auch ein symbolischer Link ist :-) Mit einem temporären Verzeichnis in Ihrem Home-Ordner sollte es funktionieren.
Ich mache also Folgendes:
env TMPDIR=~/tmp context <file>
Sie können dies als Alias in Ihrer Shell einrichten, ich habe beispielsweise Folgendes für Fische:
function context
env TMPDIR=~/tmp /Library/TeX/texbin/context $argv
end