我想使用 gmail 的 smtp 服务器和 perl 发送电子邮件。我正在尝试安装Email::Send::Gmail
,但我不清楚安装它的步骤是什么。似乎它取决于我没有安装的其他模块。
6 回答
这部分取决于您使用的 Perl 发行版。
ActivePerl 包含一个名为 PPM(Perl 包管理器)的实用程序,用于安装模块。它自动处理依赖关系解析。PPM 特别适合在通常没有编译器的 Windows 上安装 XS 模块。PPM 的缺点是某些 CPAN 模块不可用(可能是因为它们无法通过 ActiveState 的自动构建过程)。您可以从开始菜单或通过ppm
在命令提示符处键入来运行 PPM。
更通用的选择是使用交互式CPAN shell。请注意,您必须有一个编译器才能使用此方法安装 XS 模块。cpan
您可以通过在命令提示符下键入来访问 cpan shell 。
万不得已的蛮力方法是从 CPAN 下载 tarball 并一次手动安装一个。当安装由于不满足的依赖关系而中止时,请下载并安装它们,然后返回第一个模块并重试。
类型:
cpan Email::Send::Gmail
…在命令提示符下。
首先设置local::lib可能是个好主意。
或者查看Perl Foundation Wiki 关于安装 CPAN 模块或相同但没有 root 访问权限的内容。
或查看安装模块的 CPAN 指南。
如果您使用 ActivePerl,请先尝试使用 ActivePerl附带的PPM(Perl 包管理器)工具。当您告诉它安装一个模块时,它应该为您处理所有依赖项。
请注意 Email::Send::Gmail 的依赖关系树。其中一些模块需要额外安装第三方软件,尤其是OpenSSL,这cpan
对您不起作用。
混合安装方法需要您不需要的心痛和头痛。
不要将 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 模块混合在一起。
您可能可以使用以下方式安装它:
perl -MCPAN -e shell
install Email-Send-Gmail
希望能帮助到你,
/克劳斯
如果可以的话,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 - 如何保留我自己的模块/库目录?.