如何在Windows上的ActivePerl中安装模块及其依赖项?

如何在Windows上的ActivePerl中安装模块及其依赖项?,perl,module,perl-module,Perl,Module,Perl Module,我想用gmail的smtp服务器和perl发送电子邮件。我正在尝试安装Email::Send::Gmail,但不清楚安装步骤是什么。这似乎取决于我没有安装的其他模块。类型: cpan Email::Send::Gmail …在命令提示下 首先设置可能是个好主意 或者看到相同的,但是 或者请参阅。您可能可以使用以下设备安装它: perl -MCPAN -e shell install Email-Send-Gmail 希望有帮助 /Klaus这部分取决于您使用的Perl的发行版 Active

我想用gmail的smtp服务器和perl发送电子邮件。我正在尝试安装
Email::Send::Gmail
,但不清楚安装步骤是什么。这似乎取决于我没有安装的其他模块。

类型:

 cpan Email::Send::Gmail
…在命令提示下

首先设置可能是个好主意

或者看到相同的,但是


或者请参阅。

您可能可以使用以下设备安装它:

perl -MCPAN -e shell
install Email-Send-Gmail
希望有帮助


/Klaus

这部分取决于您使用的Perl的发行版

ActivePerl包含一个名为PPM(Perl Package Manager)的实用程序,用于安装模块。它自动处理依赖项解析。PPM特别适合在编译器通常不可用的Windows上安装XS模块。PPM的缺点是某些CPAN模块不可用(可能是因为它们在ActiveState的自动构建过程中失败)。您可以从“开始”菜单或在命令提示下键入
PPM
来运行PPM

一个更通用的选项是使用交互式shell。请注意,必须有编译器才能使用此方法安装XS模块。您可以通过在命令提示符下键入
cpan
来访问cpanshell

最后的暴力手段是从CPAN下载tarball,然后一次手动安装一个。当安装由于不满足依赖关系而中止时,请下载并安装它们,然后返回第一个模块并重试。

如果可以,请选择CPAN。(哈!它押韵…真是个罪行。哎呀,又犯了!什么时候结束…:p)这基本上是为你的系统安装模块的方法。它会自动为您检测依赖项、下载、安装和测试它们,如果构建或测试失败,它会自动退出。这是一种安装模块的极好且可靠的方法。如果您使用的是除ActiveState发行版以外的任何Perl发行版,包括草莓Perl,那么这将非常有用。一般来说,这是通过

cpan Module::Name
或者,以交互方式

$ cpan
cpan > install Module::Name
如果您使用的是ActiveState Perl,那么您可能希望使用ActiveState的PPM(Perl包管理器)。它与CPAN类似,只是所有内容都是为ActiveState Perl预先构建的。ActiveState在其网站上有一个文档,包括一个图形示例

如果简单的选择失败了,你也不是运气不好。还有一些更复杂但手动的方法可以用来安装模块

您可以下载的大多数模块都会在.yaml文件中包含一些元数据;这将帮助您确定是否拥有所有依赖项。CPAN和PPM会自动解析并安装您的所有依赖项,但手动执行则不会,这项任务将由您来完成

假设您拥有所有依赖项,并且需要手动安装,请查找两个文件中的一个:Makefile.PL或Build.PL。如果您有Makefile.PL,
cd
到您在命令提示符下提取模块的目录,并键入:

perl Makefile.PL
make
make test
make install
您需要在系统上安装“make”程序。如果是ActiveState Perl,则可能需要手动安装该模块(请参阅下面的一两段)

如果它碰巧有一个Build.PL,那么您需要执行一组稍微不同的步骤:

perl Build.PL
Build
Build test
Build install

(当然,如果So/Bug测试失败,您可能会考虑不安装),但这取决于您。 作为最后一种选择,如果您的模块没有

xs
文件(即安装时需要编译的代码),并且满足所有依赖项,则只需将
lib
文件夹中的文件移动到perl安装的
site\lib
文件夹中即可。如果只想在一个项目中使用它,可以添加一个PERL5LIB环境变量,指向新的自定义库目录(例如,
/my/project/lib
),然后在运行工具之前,确保环境已设置

作为后续行动,请参阅


另外,请参阅。

如果您使用的是ActivePerl,请先试用ActivePerl附带的工具。当您告诉它安装模块时,它应该为您处理所有依赖项


请注意电子邮件::发送::Gmail。其中一些模块需要额外安装第三方软件,最明显的是,
cpan
不会为您提供帮助。

混合安装方法会让您感到心痛和头痛,而您不需要

不要将CPAN与活动Perl一起使用。使用PPM*

PPM下载源可在上找到

如果您找不到所需模块的PPM,您可以轻松地使用它构建自己的PPM

您可以下载发行版,只需运行
make_ppm
即可构建ppm,但我更喜欢以更“正常”的构建过程进行构建:

perl Makefile.PL
make
make test
make_ppm

*如果您在c:/perl/site/*之外安装文件,那么可以使用CPAN。只是不要将CPAN外壳模块与PPM模块混在一起。

这只是一个重复。@Manni:我看了一下,发现每个模块安装都有一些额外的限制。我找不到一个有人问基本问题的地方。这里也是。我想这意味着我必须投票支持这个问题。我忘了:我在Windows上使用Active Perl澄清问题中的问题,而不是评论。这是Active Perl,所以他应该先尝试PPM。向Gmail发送邮件需要一些已编译的模块,其中至少有一个模块需要第三方OpenSSL库。在本例中,这并不像您想象的那么简单。这是ActivePerl,所以他应该首先尝试PPM。向Gmail发送邮件需要一些已编译的模块,其中至少有一个模块需要第三方OpenSSL库。在这种情况下,答案并不像你想象的那么简单。你把大部分的答案都花在了展示非常困难和困难的方法上,却没有给出正确方法的例子;添加了一些示例,并详细说明了“其余”答案是使其工作的紧急/备用方法