不推荐使用正则表达式中未转义的左大括号

kuc*_*har 5 apt raspberry-pi raspbian

我将此存储库添加到我的 sources.list 文件中:

deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
Run Code Online (Sandbox Code Playgroud)

在终端中执行命令后,我需要在我的树莓派上安装 php7.0:

_ apt-get install -t stretch mysql-server mysql-client php7.0-mysql -y
Run Code Online (Sandbox Code Playgroud)

现在总是当我尝试安装任何软件包时,我都会收到很多这样的消息:

Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^(.*?)(\\)?\${ <-- HERE ([^{}]+)}(.*)$/ at /usr/share/perl5/Debconf/Question.pm line 72.
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^}]+)}/ at /usr/share/perl5/Debconf/Config.pm line 30.
Run Code Online (Sandbox Code Playgroud)

当然,我正确安装了它们,但消息看起来很奇怪。

任何人都可以告诉我这意味着什么以及如何解决它?

gle*_*len 5

据报道上游和上游报告它在 2015 年得到修复:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786705

但是我仍然在安装了 debconf-1.5.56.all 的 debian 8.8 上看到该错误,该机器是在 2016 年安装的。

为了解决这个问题,我跑了 apt-get install debconf

您可以运行apt-get dist-upgrade以更新系统中的所有软件包,但请注意它可能会更新到 8.8 -> 9.0


thr*_*rig 4

这是一个警告。维护该代码的人需要转义左大括号,例如将{正则表达式更改为\{。向人们报告这一点以维护该代码可能会有所帮助,因为这是一个微不足道的修复。