我运行的是64位Windows 7,这似乎是问题的一部分。起初,当我试图从shell提示符执行install CPAN命令时,我的cpan会挂起。
我试着重启我的电脑,并且多次尝试使用ash中的rebaseall和peflagsall --甚至为动态链接库创建了一个新的库(该命令是cygwin邮件列表中的建议命令--类似于rebaseall -vb 0x730000)。
我是不是应该卸载Cygwin,然后重新安装?我拥有cpan需要的所有依赖项(即gcc-4)。
我在这里变得非常绝望-如果我尝试使用从CPAN安装的模块(特别是JSON::XS),我会收到关于失败的dlls的错误消息。
你能提供的任何帮助都将是极好的。
谢谢!
发布于 2012-02-29 02:33:50
关于在安装时丢失dll的抱怨,我相信是一个已知的bug,并且出现在很多模块中。但是,大多数模块仍然安装,并且仍然可以正常工作。根据我的经验,您还需要强制安装大多数模块,因为几乎总会有一些测试失败。
虽然我个人更喜欢cygwin环境中的perl,但安装Strawberryperl有一个很好的理由:需要cygwin不支持的64位支持。例如,如果您打算使用XML::Simple处理大型XML数据结构,那么32位Windows支持的1.5-2 2GB不会让您走得太远,Strawberryperl将为您提供帮助。由于perl的可移植性,除了在同一台计算机上安装两套perl之外,还可以使用cygwin进行开发,然后使用64位Strawberryperl在“生产”中运行它。
发布于 2012-02-29 01:53:56
您是否正在安装cygwin,然后在此基础上构建Perl?如果您使用Strawberry Perl,您将获得更大的成功,它具有自己的cygwin环境,允许您在需要时构建和安装大多数CPAN模块。
发布于 2012-03-01 02:49:07
我怀疑您遇到的问题是常规shell (通常是bash,在Cygwin上会给您一个$提示符)和cpan shell (它会给您一个类似cpan[1]>的提示符)之间的区别。
在cpan shell中,install CPAN将刷新来自CPAN存储库中的一组Perl脚本。从bash shell来看,install CPAN没有任何意义:install是一个用于安装您刚刚构建的包的程序;它与Perl或如何在Cygwin上安装包没有特别的关系。
您可以通过在bash shell提示符下运行cpan来进入CPAN shell。但我不认为这是你需要的。你真正想做的就是运行以下命令:
cpan JSON::XShttps://stackoverflow.com/questions/9486729
复制相似问题