Biber 2.11 在 biber --version 上崩溃

Biber 2.11 在 biber --version 上崩溃

每当我呼叫 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 时重新创建(应该如此,毕竟缓存位于临时目录中)。

相关内容