Cygwin挂起了Perl脚本:似乎没什么可修复的

时间:2012-02-28 17:25:26

标签: perl cygwin cpan

我正在运行Windows 7 64位,这似乎是问题的一部分。当我尝试从shell提示符cpan时,我的install CPAN会挂起。

我尝试重新启动计算机,并尝试使用rebaseall中的peflagsallash - 甚至为dll启动新基础(该命令是在cygwin邮件列表 - 类似于rebaseall -vb 0x730000)。

我应该卸载Cygwin并尝试重新安装吗?我拥有cpan应该需要的所有依赖项(即gcc-4)。

我在这里非常绝望 - 如果我尝试使用从CPAN安装的模块(特别是JSON::XS),我会收到有关失败dll的错误消息。

你能提供的任何帮助都很棒。

谢谢!

3 个答案:

答案 0 :(得分:3)

安装时抱怨丢失的dll是一个我认为的已知错误,并出现在很多模块中。大多数模块仍然安装,但仍然可以工作。根据我的经验,您还需要强制安装大多数模块,因为几乎总会有一些测试失败。

虽然我个人更喜欢来自cygwin环境的perl,但有一个很好的理由安装Strawberryperl;需要64位支持,而cygwin不支持。例如,如果您打算使用XML :: Simple处理大型XML数据结构,那么32位Windows支持的1.5-2GB将不会让您感到惊讶,而Strawberryperl将为您解救。并且由于perl可移植性,除了在同一台计算机上安装两组perl之外,使用cygwin进行开发,然后使用64位Strawberryperl“在生产中”运行它是没有问题的。

答案 1 :(得分:2)

您是否正在安装cygwin,然后在其上构建Perl?如果你使用自己的cygwin环境Strawberry Perl,那么你将会更成功,如果你需要它,你可以构建和安装大多数CPAN模块

答案 2 :(得分:0)

我怀疑你遇到的问题是常规shell(通常是bash并在Cygwin上给你一个$提示符号)和cpan shell(它会给你一个像{的提示符号)之间的区别{1}})。

在cpan shell中,cpan[1]>将从CPAN存储库刷新一堆Perl脚本。从bash shell开始,install CPAN没有意义:install是一个用于安装刚刚构建的软件包的程序;它与Perl或在Cygwin上如何安装软件包没有任何关系。

您可以通过在bash shell提示符下运行install CPAN来输入CPAN shell。但我认为这不是你所需要的。你真正想要做的就是运行以下内容:

cpan