Mavericks 升级搞砸了我的 pdflatex(未找到命令)

Mavericks 升级搞砸了我的 pdflatex(未找到命令)

所以一切都运行良好...直到几天前我升级到 os x mavericks(版本 10.9.2)。

使用

  • emacs 版本 24.3 (9.0)
  • auctex 版本 11.87.3

升级后,尝试编译并得到:

Running `LaTeX' on `test' with ``pdflatex  -interaction=nonstopmode "\input" test.tex''
/bin/sh: pdflatex: command not found

LaTeX exited abnormally with code 127 at Wed Mar  5 09:45:28

我的 pdflatex 去哪儿了?如何修复?

答案1

笔记:由于 macOS 较新版本引入了新的限制,使用较新版本 macOS 的用户将无法遵循这些说明。请参阅评论以了解解决方法。

看来升级删除了库(MacTeX 放置实际 TeX 发行版的地方)到 的链接/usr/texbin。您可以使用以下命令恢复此链接:

ln -s /Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin \
      /usr/texbin

这实际上会创建一个/usr/texbin指向texbinMacTeX 内部目录的快捷方式。不过,您仍应确保它/usr/texbin在您的PATH环境变量中。

注意:如果您使用 DVI → PS → PDF,您可能还需要修复与 Ghostscript 的链接:

sudo ln -s /usr/local/bin/gs-noX11 /usr/local/bin/gs

答案2

对于那些不太熟悉命令行的人来说:我在升级到 OSX 10.9.2 后也遇到了这个问题。升级后,/Applications/TeX/我在目录中找到了 FixMacTeX2013.pkg。运行此程序解决了这个pdflatex问题。

答案3

建议

ln -s /Library/TeX/Distributions/.DefaultTeX/Contents/Programs/texbin \
      /usr/texbin

对我来说不太适用,因为在我的目录中/Library/.../Programs没有目录texbin,而是两个目录:i386powerpc。我有一个英特尔处理器,因此使用:

ln -s /Library/TeX/Distributions/.DefaultTeX/Contents/Programs/i386 \
      /usr/texbin

效果很好。

答案4

总之,您要做的就是添加/usr/texbin到环境变量中$PATH。使用终端,您可以分 3 个步骤完成此操作:

1)确保 pdflatex 命令已安装在/usr/texbin

mac:yourname$ ls /usr/texbin
afm2tfm          dvired           initex           luaotfload-tool  mktexlsr         simpdftex        texluajitc
allcm            dvitomp          kpseaccess       luatex           mktexmf          synctex          thumbpdf
allec            ebb              kpsepath         makeindex        mktexpk          teckit_compile   tlmgr
allneeded        etex             kpsereadlink     man              mktextfm         tex              updmap
bibtex           extractbb        kpsestat         mf               mpost            texconfig        updmap-sys
dvi2fax          fmtutil          kpsetool         mf-nowin         mptopdf          texconfig-dialog xdvi
dvilualatex      fmtutil-sys      kpsewhere        mfplain          pdfetex          texconfig-sys    xdvi-xaw
dviluatex        gftodvi          kpsewhich        mft              pdflatex         texhash          xdvipdfmx
dvipdfm          gftopk           kpsexpand        mkindex          pdftex           texlinks         xelatex
dvipdfmx         gftype           latex            mkocp            pktogf           texlua           xetex
dvipdft          gsftopk          luajittex        mkofm            pktype           texluac
dvips            inimf            lualatex         mktexfmt         rungs            texluajit

2)打印旧$PATH

mac:yourname$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

3) 如果/usr/texbin不是 $PATH 值的一部分,您可以通过添加或编辑.profile文件来附加它(需要超级用户权限)

mac:yourname$ sudo vi /Users/yourname/.profile

...
\#This is the concerned part of .profile
export PATH=/usr/local/bin:$PATH:/usr/texbin
...

保存文件后,您可以重新启动终端或打开新窗口/选项卡。

相关内容