MacTeX 2020:“無法變更格式路徑”

MacTeX 2020:“無法變更格式路徑”

我安裝了 MacTeX 2020,但無法讓 ConTeXt 工作(在我從 MacTeX 2019 升級的另一台電腦上可以工作)。錯誤是:

$ 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

我讀奔跑馬克四世從維基並嘗試運行

context --make
context --make cont-en

但他們帶著同樣的unable to change to format path訊息退出了。我認為這是核心問題。運行這些命令後,我在嘗試建立 PDF 時仍然遇到相同的錯誤。

我怎樣才能解決這個問題?

答案1

我從 ConTeXt 郵件列表中得到了這個問題的解決方案(連結到線程),我將從那裡引用:

當ConTeXt 嘗試更改工作目錄時(這就是「更改」在此上下文中的含義,只是移動到另一個目錄),這些訊息來自檔案luat-fmt.lua 的中間(在我的系統上分別為第180 行和第183 行) ,如 cd 或 chdir)。相關摘錄是

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

在你的情況下有效格式路徑$TMPDIR是, 下的 子目錄/var/folders/。但是,如果您的 Mac 與我的類似,則/var實際上是 的符號鏈接/private/var,因此dir.current()會報告以 開頭的路徑/private,並且測試失敗。

您可以透過設定TMPDIR為其他值來解決這個問題,該值不以/var-- 開頭,也不是/tmp因為這也是一個符號連結:-) 它應該與您的主資料夾中的臨時目錄一起使用。

所以我正在做的是:

env TMPDIR=~/tmp context <file>

您可以在 shell 中將其設定為別名,例如我為魚設定了這個別名:

function context
  env TMPDIR=~/tmp /Library/TeX/texbin/context $argv
end

相關內容