首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在尝试安装YAML::Syck -此模块需要C编译器

正在尝试安装YAML::Syck -此模块需要C编译器
EN

Stack Overflow用户
提问于 2011-04-15 01:48:00
回答 3查看 3.8K关注 0票数 1

我正在尝试安装YAML::Syck模块(实际上我正在尝试安装Date::Manip,这只是一个依赖项),但它失败了,并显示以下消息:

代码语言:javascript
复制
This module requires a C compiler at Makefile.PL line 38.

无论我是尝试使用CPAN进行安装,还是尝试下载软件包并手动安装,都会发生这种情况。

我已经安装了gcc,在我的路径上,我可以从我试图用来安装YAML::Syck的同一个CYGWIN shell窗口访问它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-15 02:31:27

在寻找C编译器时,ExtUtils::MakeMakerModule::Build不一定要在您的Perl中查找gcc,而是查询您的PATH的配置,以获得构建它所用的C编译器,并期望它也可用于构建Perl扩展。

在我的系统上,它将在PATH中查找cc,如下所示

代码语言:javascript
复制
$ perl -MConfig -E'say $Config{cc}'
cc
票数 8
EN

Stack Overflow用户

发布于 2011-04-15 02:00:32

当涉及到编译模块时,我曾经遇到过使用cygwin让所有东西都“正常工作”的问题。您可能想看看Strawberry Perl,它是一个Windows Perl发行版,捆绑了编译XS模块所需的所有组件。我没有亲自尝试用它安装YAML::Syck,但我已经安装了许多其他XS模块,没有发生任何问题。

一旦它被安装并且在您的路径中(通常是自动的),您应该能够从Windows命令提示符运行cpan来安装该模块。

票数 3
EN

Stack Overflow用户

发布于 2013-04-03 22:14:14

我是维护者

更好的论坛是cygwin邮件列表。在那里,你会发现同样的问题一次又一次地被问到,我们可以指出消息,维护者也在场。答案的质量会好得多。最新的perl官方声明是http://sourceware.org/ml/cygwin-announce/2012-07/msg00011.html

perl用于将CPAN和测试中最有用的模块与核心perl捆绑在一起。在最新的5.14包中,有用的模块被移到单独的包perl_vendor中。不包括能够通过cpan自己编译模块的依赖项。您至少需要使用make和-4。有关特定于软件包的自述文件,请参见/usr/share/doc/Cygwin/perl.README。

Syck被认为是损坏和未维护的(*_why*左),请尝试使用更好的YAML包,如YAML或YAML::XS,由YAML本身的发明者和作者编写。Date::Manip不需要YAML::Syck。cpan确实希望有一个YAML模块,但更喜欢YAML::XS。

您将发现使用cygwin perl可以安装比使用strawberry perl (=mingw)多得多的包。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5667364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档