【问题标题】:ActivePerl and PPMActivePerl 和 PPM
【发布时间】:2012-07-30 18:46:37
【问题描述】:

我在运行 XP 的 Windows 32 位机器上安装了 ActivePerl 5.14.2。我的问题是我正在尝试使用 PPM 安装一些模块,但没有成功。

根据 ActiveState 的网站,从他们的存储库安装模块所需要做的就是 "ppm install module name" ,例如:http://code.activestate.com/ppm/Template-Toolkit/

每次我尝试这个或任何其他模块时,我都会得到:“No Perl script found in input

即使我只执行“ppm”,我也会收到相同的消息,即使 GUI 应该运行。

当我从开始菜单使用 GUI 运行 PPM 时,出现以下错误:“Failed 500 Can't connect to ppm4.activestate.com:8080 (connect: timeout)

我认为这可能是我的连接,所以使用cmd.exe 我使用了 set HTTP_PROXY 命令,然后尝试了ppm install,但仍然没有运气。那么有什么方法可以安装这些模块吗?

感谢任何建议!

【问题讨论】:

  • 我建议安装DWIMPerlStrawberry Perl(前者只是后者捆绑了一堆额外的预安装模块)。这些发行版中的任何一个都优于 ActivePerl。
  • "No Perl script found in input" 表示ppm.bat 已损坏。当其中的 perl -x 找不到 Perl 的 #! 行时,会发出该错误。
  • 第二个是不言自明的。无法创建到 ppm4.activestate.com 端口 8080 的 TCP 连接。可能的原因很多,但通常归结为:两台机器中至少有一台没有连接到互联网。可能是因为您需要通过代理,而 ppm 没有正确指示。
  • @ikegami - 我是 UNIX 用户,但从课堂经验来看 - 学生通常在安装和运行 dwimperl 时遇到的问题较少。 Activeperl 有一个更复杂的设置。但也许我错了。
  • 如果我有一个损坏的 ppm.bat 文件,我将如何修复它?简单的重新安装会起作用吗?感谢您的回复,我将不得不研究 Strawberry Perl

标签: perl activeperl


【解决方案1】:

从命令提示符调用cpan 提示符。转到cmd 并简单地输入cpan。如果您成功输入cpan 提示他们,您的 Perl 安装可能没有问题。要从 cpan 提示符安装模块,只需使用

cpan>install Module::Name

下面的屏幕截图显示了安装模块Net::Stomp的命令

如果以上都不起作用,请检查您的 FTP 数据和连接端口是否需要添加到 Windows 防火墙例外(端口 20(FTP 命令端口)和 21(FTP 数据端口))。

或者(如果您不想将端口 20 21 添加到异常中),您可以转到 cpan 提示符并使用 ftp_proxy by

cpan> o conf ftp_proxy http://your.ftpproxy.com

然后发出安装命令。或者您可以更新您的 ../CPAN/config.pm 文件以永久更改 ftp_proxy 参数。

下一步是尝试将 FTP_PASSIVE 模式设置为 1。默认情况下,libnetcfg 的配置设置为 0。要更改此设置,请查找 libnetcfg.bat 文件(应该在 C:\Perl\bin 的某个位置) , 在编辑器中打开文件并替换

ftp_int_passive      0

ftp_int_passive      1

再次,查看您的超时错误,您的网络似乎阻止您访问 CPAN ftp 镜像,如果您在公司 VPN 中,这通常会发生。解决这个问题只能是代理服务器。

【讨论】:

  • 谢谢,我重新安装了 ActivePerl 并再次尝试使用不同的代理,它工作正常。所以,我不确定是安装还是代理,谢谢大家的帮助,非常感谢!!
猜你喜欢
  • 1970-01-01
  • 2016-08-11
  • 2012-10-22
  • 2019-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多