我希望箭头键在perl调试器中用于命令历史记录。 This solution看起来不错,所以因为我正在使用ubuntu,所以我尝试了
sudo aptitude install libterm-readline-gnu-perl
但是,我仍然在perl调试器中回显^[[A
和^[[B
而不是之前/下一个命令。
我发现这是我perlbrew
envinronment中的一个问题。如果我运行/usr/bin/perl -d
箭头键执行工作(即,安装仅为该perl修复了它)。
如何让调试器在perlbrew下工作?
作为最后的努力,在我的perlbrew环境中,我尝试cpanm Term::ReadLine::Gnu
但是得到了错误
找不到libtermcap.a,libncurses.a或libcurses。
我可以开始安装更多的库,但感觉我错过了其他的东西,因为它只是影响Perlbrew的一个问题。
答案 0 :(得分:2)
通过您的发行版软件包系统安装的Perl模块仅在您的发行版的perl中可用(即/usr/bin/perl
)。其他perl安装(例如由perlbrew管理的安装)不受影响。这就是为什么其他perls看不到Term :: ReadLine :: Gnu。
在perlbrew环境中安装Term :: ReadLine :: Gnu(例如通过cpan或cpanm)是正确的解决方案。您获得的错误可能是由于缺少开发标头(Term :: ReadLine :: Gnu是readline C库的包装器,因此需要构建标头)。尝试安装ncurses-dev
(使用aptitude),然后再次运行cpanm
。
答案 1 :(得分:0)
安装包@melpomene建议确实可以解决问题。
但我发现另一个不的解决方案需要开发包(因此,不需要root)。 以下CPAN包的可以单独使用:
由于Perlbrew有时(通常是?)在你没有root的环境中使用,这可能是一个更方便的解决方案。