代码之家  ›  专栏  ›  技术社区  ›  nachocab

(Perl)不能在Mac OSX 10.6中的term::readline::gnu中执行“初始化”

  •  0
  • nachocab  · 技术社区  · 14 年前

    我最近安装了MacPorts,我想它可能把我的一些库弄乱了。现在,当我尝试运行Perl调试器时,我得到了:

    Perl-D-E 0

    Cannot do `initialize' in Term::ReadLine::Gnu at /opt/local/lib/perl5/5.8.9/perl5db.pl line 6006
     at /opt/local/lib/perl5/site_perl/5.8.9/darwin-2level/Term/ReadLine/Gnu.pm line 716
        Term::ReadLine::Gnu::AU::AUTOLOAD('Term::ReadLine=HASH(0x8f8b94)') called at /opt/local/lib/perl5/site_perl/5.8.9/darwin-2level/Term/ReadLine/Gnu.pm line 240
        Term::ReadLine::Gnu::new('Term::ReadLine', 'perldb', 'GLOB(0x85c690)', 'GLOB(0x855750)') called at /opt/local/lib/perl5/5.8.9/perl5db.pl line 6006
        DB::setterm called at /opt/local/lib/perl5/5.8.9/perl5db.pl line 2235
        DB::DB called at -e line 1
    Cannot do `initialize' in Term::ReadLine::Gnu at /opt/local/lib/perl5/5.8.9/perl5db.pl line 6006
    END failed--call queue aborted at -e line 44.
     at -e line 44
    Config::DESTROY(/opt/local/lib/perl5/5.8.9/darwin-2level/Config.pm:63):
    63: sub DESTROY { }
    IO::Handle::DESTROY(/opt/local/lib/perl5/5.8.9/darwin-2level/IO/Handle.pm:330):
    330:    sub DESTROY {} 
    

    我用的是readline 6.1。有人有什么想法吗?

    谢谢

    4 回复  |  直到 5 年前
        1
  •  0
  •   tchrist    14 年前

    我对Perl的MacPorts版本从来没有太幸运过。我总是自己安装。

    您不会安装相同的模块,因为(例如)5.8、5.9和5.10不是二进制兼容的。有问题的模块可能需要一个C编译器来构建。

    您不想构建和安装Perl的现代版本有什么原因吗?

        2
  •  1
  •   Gino    7 年前

    我刚在Mac上遇到这个问题。有趣的是,我尝试进入CPAN交互控制台时也产生了同样的错误。

    基于一些网络搜索,我运行了以下命令: cpan install Term::ReadLine::Gnu

    这解决了我的问题。然后我可以进入CPAN交互控制台,并使用 perl -d -e 0

        3
  •  0
  •   Binsh    10 年前

    我不知道这在OSX上是如何工作的,但我在Linux上遇到了同样的问题。我通过安装libtermcap2(deb)或compat libtermcap(rpm)解决了这个问题。

    I found the solution here

        4
  •  0
  •   Alexander Davliatov    5 年前

    我执行了

    brew uninstall --ignore-dependencies term-readline-gnu-perl
    brew install term-readline-gnu-perl
    

    它起作用了。