我需要能够运行命令latexindent
,但我每次都会收到这个错误:
Unknown PerlIO layer 'encoding' at /usr/local/texlive/2021/texmf-dist/scripts/latexindent/LatexIndent/Document.pm line 21.
Unknown PerlIO layer "encoding" at /opt/homebrew/Cellar/perl/5.34.0/lib/perl5/5.34.0/open.pm line 126.
Unknown PerlIO layer "encoding" at /opt/homebrew/Cellar/perl/5.34.0/lib/perl5/5.34.0/open.pm line 134.
Unknown PerlIO layer "encoding" at /opt/homebrew/Cellar/perl/5.34.0/lib/perl5/5.34.0/open.pm line 135.
Attempt to reload PerlIO/encoding.pm aborted.
Compilation failed in require at /usr/local/texlive/2021/texmf-dist/scripts/latexindent/LatexIndent/FileExtension.pm line 20.
BEGIN failed--compilation aborted at /usr/local/texlive/2021/texmf-dist/scripts/latexindent/LatexIndent/FileExtension.pm line 20.
Compilation failed in require at /usr/local/texlive/2021/texmf-dist/scripts/latexindent/LatexIndent/Document.pm line 29.
BEGIN failed--compilation aborted at /usr/local/texlive/2021/texmf-dist/scripts/latexindent/LatexIndent/Document.pm line 29.
Compilation failed in require at /usr/local/texlive/2021/bin/universal-darwin/latexindent line 27.
BEGIN failed--compilation aborted at /usr/local/texlive/2021/bin/universal-darwin/latexindent line 27.
我通过这个命令brew install--cask mactex
安装了带有Homebrew的MacTeX。当我键入命令哪个latexindent
时,它会给出这个/usr/local/texlive/2021/bin/verity-darwin/latexindent
。我有Perl v5.34.0,它在这里/select/hombrew/bin/perl
。
如何设置PerlIO的编码?
我通过自制软件安装latexindent解决了这个问题。命令是brew install latexindent
。我在MacOS Monterey 12.4上
基于这个问题,我找到了这样一个解决我问题的方法:
~/perl5
,~/. cpan
,~/.cpanm
;安装了日志::Log4perl
cpaninstall日志::Log4perl
。在那里它问我是想选择自动还是手动配置模式。我选择了自动模式;SQL::语句
,文本::CSV_XS,DBD::CSV,日志::Dispatch::File,cpan安装YAML::Tiny,File::HomeDir,Unicode::GCString,Mac::SystemDirectory;最后命令latexindent--version
给了我版本3.9.1,2021-03-21
并且它有效。