每当我呼叫 Biber 时(即使在biber --version
或上biber --help
),我都会收到以下错误消息(缩短)
The following parameter was passed in the call to DateTime::Format::Builder::Parser::create_single_parser but was not listed in the validation options: regex
at %AppData%\Local\Temp\par-6a6f6e6174\cache-9d6b46fefde4bd584f892f8159e8daefd64788a3\ee447f6b.pm line 164. DateTime::Format::Builder::Parser::create_single_parser(undef, "params", ARRAY(0x490d620), "length", ARRAY(0x49097d8), "regex", qr(^ (-?\d{4}) - (\d\d) - (\d\d)\x{a} )...ux) called at %AppData%\Local\Temp\par-6a6f6e6174\cache-9d6b46fefde4bd584f892f8159e8daefd64788a3\ee447f6b.pm line 305 BEGIN failed--compilation aborted at %AppData%\Local\Temp\par-6a6f6e6174\cache-9d6b46fefde4bd584f892f8159e8daefd64788a3\507a905c.pm line 5.
...
Compilation failed in require at script/biber-MSWIN64 line 17.
BEGIN failed--compilation aborted at script/biber-MSWIN64 line 17.
我在 Windows 10 上使用 MikTex 2.9,Biber 版本 2.11。卸载并重新安装 Biber 无法解决问题。今天突然出现了这个问题,我本地的 biber 版本上次更新是在 4 月。
我发现的唯一其他提及该问题的人是https://chat.stackexchange.com/transcript/41/2018/6/17/0-24,但没有提到任何解决方案。
答案1
不久前,运行 Biber 时出现了一种臭名昭著的错误:Biblatex/biber 失败,出现有关缺少 recode_data.xml 文件的奇怪错误。该错误是由于 Biber 首次运行时解压的缓存损坏而出现的。虽然自从负责解压的 Perl 库中修复了这个问题以来,没有人对此问题提出投诉,但PAR::Packer
您收到的消息
The following parameter was passed in the call to DateTime::Format::Builder::Parser::create_single_parser
but was not listed in the validation options: regex
at %AppData%\Local\Temp\par-6a6f6e6174\cache-9d6b46fefde4bd584f892f8159e8daefd64788a3\ee447f6b.pm line 164.
DateTime::Format::Builder::Parser::create_single_parser(undef, "params", ARRAY(0x490d620),
"length", ARRAY(0x49097d8), "regex", qr(^ (-?\d{4}) - (\d\d) - (\d\d)\x{a})...ux)
called
at %AppData%\Local\Temp\par-6a6f6e6174\cache-9d6b46fefde4bd584f892f8159e8daefd64788a3\ee447f6b.pm line 305
BEGIN failed--compilation aborted
at %AppData%\Local\Temp\par-6a6f6e6174\cache-9d6b46fefde4bd584f892f8159e8daefd64788a3\507a905c.pm line 5.
...
这表明解压的缓存可能有问题。
删除缓存目录%AppData%\Local\Temp\
(以 和哈希开头par-
)并重试。如果biber --cache
没有错误,它将指向缓存文件夹的确切位置。
如果您已经使用 Biber 很长时间,您可能会发现par-...
文件夹中有多个缓存。通常只有一个缓存正在使用,较旧的缓存已经过时。您可以安全地删除所有由 Biber 创建的缓存(甚至是活动的缓存),因为它们将在下次运行 Biber 时重新创建(应该如此,毕竟缓存位于临时目录中)。