如果我arara
在 Windows 10 上运行此文件:
% arara: pdflatex
% arara: lmkclean
\documentclass{book}
\begin{document}
More \emph{ducks} into \LaTeX{}!
\end{document}
我收到此错误:
21 Jun 2017 08:24:45.123 INFO CommandTrigger - Running 'LaTeXmKCleaner'.
21 Jun 2017 08:24:45.123 TRACE CommandTrigger - Command: latexmk -c "TeX_SE_arara_test.tex"
21 Jun 2017 08:24:45.780 TRACE CommandTrigger - Output logging:
21 Jun 2017 08:24:45.780 TRACE CommandTrigger - Can't locate Digest/MD5.pm in @INC (you may need to install the Digest::MD5 module) (@INC contains: C:/Program Files (x86)/LyX 2.2/Perl/lib .) at c:\texlive\2017\texmf-dist\scripts\latexmk\latexmk.pl line 137.
BEGIN failed--compilation aborted at c:\texlive\2017\texmf-dist\scripts\latexmk\latexmk.pl line 137.
C:\texlive\2017\bin\win32\runscript.tlu:708: command failed with exit code 2:
perl.exe c:\texlive\2017\texmf-dist\scripts\latexmk\latexmk.pl -c TeX_SE_arara_test.tex
21 Jun 2017 08:24:45.780 WARN CommandTrigger - 'LaTeXmKCleaner' returned an error status.
21 Jun 2017 08:24:45.780 INFO Arara - Done.
即使我latexmk
在终端中运行,也会出现相同的错误:
C:\Users\carla\OneDrive\Documenti\TeX_StackExchange>latexmk TeX_SE_arara_test.tex
Can't locate Digest/MD5.pm in @INC (you may need to install the Digest::MD5 module) (@INC contains: C:/Program Files (x86)/LyX 2.2/Perl/lib .) at c:\texlive\2017\texmf-dist\scripts\latexmk\latexmk.pl line 137.
BEGIN failed--compilation aborted at c:\texlive\2017\texmf-dist\scripts\latexmk\latexmk.pl line 137.
C:\texlive\2017\bin\win32\runscript.tlu:708: command failed with exit code 2:
perl.exe c:\texlive\2017\texmf-dist\scripts\latexmk\latexmk.pl TeX_SE_arara_test.tex
答案1
在您的错误消息中,@INC
路径提到了 lyx:
@INC contains: C:/Program Files (x86)/LyX 2.2/Perl/lib .
这表明 latexmk 正在使用缺少所需模块的外部 perl。
因此你的选择是:
- 安装此 perl 缺少的模块。
- 安装另一个具有所需模块的外部 perl(例如 active perl 或 strawberry perl),并确保在路径中首先找到它。
- 强制 texlive 忽略外部 perl 并使用其自己的 perl。您可以通过
TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL = 0
在本地进行设置texmf.cnf
或找到将texmf.cnf
变量设置为 1 然后将这个值更改为 0 来实现(在我的系统中,它是texmf.cnf
texlive/2017 中的)。