迁移到 MacOSX 10.11“El Capitan”后,如何运行“texdoc”和“kpsewhich”等简单实用程序?

迁移到 MacOSX 10.11“El Capitan”后,如何运行“texdoc”和“kpsewhich”等简单实用程序?

昨晚,我将 MacBook 的操作系统从 10.10“Yosemite”迁移到 10.11“El Capitan”。一切似乎都很顺利。令人高兴的是,对于我与 TeX 相关的工作,自从完成操作系统升级后,我能够很好地使用 GUI 前端“TeXworks”和“TeXshop”。我使用 MacTeX2015,安装了所有最新更新。

但奇怪的是,自从完成升级后,我再也无法运行任何 MacTeX 命令行实用程序,例如texdoc和。(实际上,正如我刚刚发现的,我再也kpsewhich无法运行pdflatex从命令行pdflatex。但是,我从来没有从命令行提示符运行,所以这对我来说不是一个紧急问题 —— 至少现在不是。)

帖子中给出的建议Mavericks 升级搞砸了我的 pdflatex(未找到命令)似乎不适用于这种情况,因为它们似乎都围绕着/usr/texbin正确设置——/usr/texbin在 MacOSX 10.11 下不再允许。文档MacTEX-2015 和 El CapitanHerb Schulz 所著的《调整 GUI 前端的设置》深入讨论了调整 GUI 前端的设置,但似乎并未触及如何处理/usr/texbin,而这似乎是现在 TeX 命令行实用程序缺失的环节。

欢迎提供指点和解决方案!

答案1

该问题可能是由 TeXLive 先前版本中遗留的一些垃圾引起的,这些垃圾曾在某一时刻添加了文件路径/usr/texbin/etc/profile全局/bin/sh配置文件)。

当前版本的 MacOS 上的默认设置/etc/profile应如下:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc
fi

如果您的/etc/profile文件包含要添加/usr/texbin到的代码PATH,则应将其删除。您不应将代码替换为/Library/TeX/texbin,而应将代码完全删除,并确保文件/etc/profile正确执行path_helper,这是在 OS X 中修改路径的正确方法。

您也可以通过修改来~/bash_profile添加/Library/TeX/texbin到您的路径,在本地解决此问题,但如果您有多个用户,则需要为系统上的每个用户执行此操作。

答案2

您不能/usr/texbin再使用了。这是最后一次更改。每个依赖该链接的程序都需要修复。我认为这也是 Herb Schulz 的文件试图表达的意思。

另一个变化是/usr/sh不再运行未签名的程序。因此/usr/sh pdflatexemacs 尝试的将不起作用:

#/bin/sh pdflatex
/Library/TeX/texbin/pdflatex: /Library/TeX/texbin/pdflatex: cannot execute binary file

尽管:

#pdflatex
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) ...

这可能是苹果针对最近报道的守门人突围

相关内容