Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
预期模块不能在perl中工作_Perl - Fatal编程技术网

预期模块不能在perl中工作

预期模块不能在perl中工作,perl,Perl,我已经在perl中的位置C:\草莓\perl\lib安装了expect模块 作为先决条件,我首先在安装perl的相同位置安装了IO Tty模块 现在如果我在做 use Expect; 这是投掷错误 Can't locate IO/Pty.pm in @INC (@INC contains: C:/strawberry/perl/site/lib C:/st rawberry/perl/vendor/lib C:/strawberry/perl/lib .) at C:/strawberry/p

我已经在perl中的位置C:\草莓\perl\lib安装了expect模块

作为先决条件,我首先在安装perl的相同位置安装了IO Tty模块

现在如果我在做

use Expect;
这是投掷错误

Can't locate IO/Pty.pm in @INC (@INC contains: C:/strawberry/perl/site/lib C:/st
rawberry/perl/vendor/lib C:/strawberry/perl/lib .) at C:/strawberry/perl/lib/Exp
ect.pm line 22.
BEGIN failed--compilation aborted at C:/strawberry/perl/lib/Expect.pm line 22.
Compilation failed in require at croak.txt line 1.
BEGIN failed--compilation aborted at croak.txt line 1.
可能的原因有

  • Perl正在寻找从Expect.pm调用的IO::Pty和IO::Tty模块。但当我安装IO::Tty模块时,它有两个名为Pty.pm和Tty.pm的pm文件

    package Expect;
    
    use IO::Pty 0.97;       # We need make_slave_controlling_terminal()
    use IO::Tty;
    
  • 但是perl正在寻找IO::Tty模块


    这是问题的根源吗。如果是,那么我如何前进

    您是否使用cpan安装了这些模块?-我强烈建议只通过cpan安装模块,这样您就可以获得所需的所有依赖项

    如果您已经这样做了,请尝试重新安装它,并注意任何错误

    我通过cpan测试了安装,它需要编译IO::Tty包,因此您可能需要为要安装的任何perl模块设置构建环境

    如果您只是复制了一些预编译文件,请验证丢失的文件是否确实存在,然后再次下载包

    编辑:
    我遗漏了什么-Pty.pm和Tty.pm的完整路径应该类似于“C:/草莓/perl/lib/IO/Tty.pm”

    您是使用cpan安装这些模块的吗?-我强烈建议只通过cpan安装模块,这样您就可以获得所需的所有依赖项

    如果您已经这样做了,请尝试重新安装它,并注意任何错误

    我通过cpan测试了安装,它需要编译IO::Tty包,因此您可能需要为要安装的任何perl模块设置构建环境

    如果您只是复制了一些预编译文件,请验证丢失的文件是否确实存在,然后再次下载包

    编辑:
    我错过了什么-Pty.pm和Tty.pm的完整路径应该类似于“C:/草莓/perl/lib/IO/Tty.pm”

    Expect在Windows下不工作

    至少在看CPAN Resters的结果时,这是我的印象。此表如下: 显示在Windows下从来没有Expect的通行证

    此外,Expect文档讨论了不使用ActivePerl的模块,并建议改用cygwin: .
    我假设Expect也不能与StrawberryPerl一起工作。

    Expect不能在Windows下工作

    至少在看CPAN Resters的结果时,这是我的印象。此表如下: 显示在Windows下从来没有Expect的通行证

    此外,Expect文档讨论了不使用ActivePerl的模块,并建议改用cygwin: .
    我假设Expect也不能与StrawberryPerl一起使用。

    谢谢您的评论。我已经创建了IO目录并将其复制到那里。但下一部分的错误。它表示“无法在@INC中找到模块IO::Tty的可加载对象(@INC包含:C:/strawberry/perl/site/lib C:/草莓/perl/vendor/lib C:/草莓/perl/lib)在C:/草莓/perl/lib/IO/Tty.pm第30行。在C:/草莓/perl/lib/IO/Pty.pm第7行的require中编译失败。开始失败--在C:/草莓/perl/lib/IO/Pty.pm第7行中止编译。在C:/草莓/perl/lib/Expect.pm第22行的require中编译失败。开始失败--在“”处中止编译这是由于缺少.dll和/或.bs文件造成的。您应该有一个类似于“C:/草莓/perl/vendor/lib/auto/IO/Tty/Tty.dll”的路径。如果下载时有.dll和/或.bs文件,请将这些文件复制到那里。谢谢您的评论。我已经创建了IO目录并将其复制到那里。但下一部分的错误。它表示“无法在@INC中找到模块IO::Tty的可加载对象(@INC包含:C:/strawberry/perl/site/lib C:/草莓/perl/vendor/lib C:/草莓/perl/lib)在C:/草莓/perl/lib/IO/Tty.pm第30行。在C:/草莓/perl/lib/IO/Pty.pm第7行的require中编译失败。开始失败--在C:/草莓/perl/lib/IO/Pty.pm第7行中止编译。在C:/草莓/perl/lib/Expect.pm第22行的require中编译失败。开始失败--在“”处中止编译这是由于缺少.dll和/或.bs文件造成的。您应该有一个类似于“C:/草莓/perl/vendor/lib/auto/IO/Tty/Tty.dll”的路径。如果下载时有.dll和/或.bs文件,请将这些文件复制到那里。