7

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

4

6 回答 6

6

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

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

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

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

于 2009-12-10T14:43:16.887 回答
3

类型:

 cpan Email::Send::Gmail

…在命令提示符下。

首先设置local::lib可能是个好主意。

或者查看Perl Foundation Wiki 关于安装 CPAN 模块或相同但没有 root 访问权限的内容。

或查看安装模块的 CPAN 指南

于 2009-12-10T13:38:21.493 回答
3

如果您使用 ActivePerl,请先尝试使用 ActivePerl附带的PPM(Perl 包管理器)工具。当您告诉它安装一个模块时,它应该为您处理所有依赖项。

请注意 Email::Send::Gmail 的依赖关系树。其中一些模块需要额外安装第三方软件,尤其是OpenSSL,这cpan对您不起作用。

于 2009-12-10T17:52:42.957 回答
1

混合安装方法需要您不需要的心痛和头痛。

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

PPM 下载源可以在Randy Kobes 的网站上找到。

如果您找不到所需模块的 PPM,您可以使用 Kobes先生的 make_ppm 轻松构建自己的 PPM 。

您可以下载一个发行版并简单地运行make_ppm以构建 PPM,但我更喜欢执行更“正常”的构建过程:

perl Makefile.PL
make
make test
make_ppm

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

于 2009-12-10T21:27:33.497 回答
1

您可能可以使用以下方式安装它:

perl -MCPAN -e shell
install Email-Send-Gmail

希望能帮助到你,

/克劳斯

于 2009-12-10T13:39:07.863 回答
1

如果可以的话,CPAN。(哈!它押韵......多么犯罪。哎呀,又犯了!这什么时候结束...... :p)它本质上是为您的系统安装模块的方式它会自动为您检测依赖关系、下载、安装和测试它们,并在构建或测试失败时退出。这是安装模块的一种奇妙而可靠的方式。如果您使用 ActiveState 发行版之外的任何 Perl 发行版,包括 Strawberry Perl,这将非常有用。通常,这是通过

cpan Module::Name

或者,在交互模式下,

$ cpan
cpan > install Module::Name

如果您使用 ActiveState Perl,那么您可能想要使用 ActiveState 的 PPM(Perl 包管理器)。它类似于 CPAN,除了所有内容都是为 ActiveState Perl 预构建的。ActiveState 在他们的网站上有一个关于如何使用 Perl 包管理器的文档,包括一个图形示例。

如果简单的选项失败了,你也不会不走运。您可以使用一些更复杂但手动的方法来安装模块。

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

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

perl Makefile.PL
make
make test
make install

您将需要系统上的“制作”程序。如果是 ActiveState Perl,您可能需要手动安装模块(请参阅下面的一两段。)

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

perl Build.PL
Build
Build test
Build install

(当然,如果 make/Build 测试失败,您可能需要考虑不安装,但这取决于您。)

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

作为后续,请参阅PerlFaq8 - How do I install a module from CPAN

另外,请参阅PerlFaq8 - 如何保留我自己的模块/库目录?.

于 2009-12-10T16:48:35.887 回答