【发布时间】:2016-07-18 19:09:09
【问题描述】:
我希望箭头键用于 perl 调试器中的命令历史记录。 This solution 看起来不错,所以我用的是ubuntu,所以我尝试了
sudo aptitude install libterm-readline-gnu-perl
但是,我仍然在 perl 调试器中得到回显 ^[[A 和 ^[[B 而不是上一个/下一个命令。
我发现这是我的perlbrew 环境中的一个特别问题。如果我运行 /usr/bin/perl -d 箭头键 do 工作(即,安装仅针对该 perl 修复它)。
如何让调试器在 perlbrew 下工作?
作为最后的努力,在我的 perlbrew 环境中,我尝试了cpanm Term::ReadLine::Gnu,但得到了错误
找不到 libtermcap.a、libncurses.a 或 libcurses。
我可以开始安装更多的库,但感觉好像我错过了其他东西,因为它只是影响 Perlbrew 的一个问题。
【问题讨论】:
-
你没有错过“其他东西”。它只会影响 perlbrew,因为您的 perlbrew perl 没有安装 Term::Readline::Gnu。
-
好的,是的(确认安装在
/usr/lib/perl5下,来自libterm-readline-gnu-perl)。但是为什么在 perlbrew 下会出现 cpanm 错误呢?即,为什么它在/usr/bin/perl -d没有安装这些库的情况下工作? -
在
$Config{libpath}中找不到库时会引发该错误。运行perl -MConfig -le'print $Config{libpth}'以查看正在搜索哪些目录。要么安装了库,但你的 perlbrew perl 正在查找错误的目录,要么没有安装库,但它们在 libterm-readline-gnu-perl 中静态链接。 -
啊 - 我没想到静态链接。一定是这样;
find不返回任何库名称的结果。 perlbrew$Config{libpath}搜索 /usr/bin/perl 目录的超集。 -
它只适用于您的系统 Perl,因为您只为您的系统 Perl 安装了模块。
标签: perl arrow-keys perlbrew perldb