【发布时间】:2013-05-08 14:37:04
【问题描述】:
我正在 Windows 上安装 Bugzilla,并且 checksetup.pl 要求我通过运行 ppm(Perl 包管理器)命令来安装一堆模块,如下所示:
C:\>ppm install TimeDate
这会正确运行,并安装 TimeDate 模块。
我以前没有做过太多命令行的事情,但我认为这是尝试它的好时机。所以我制作了一个名为 PerlModules.bat 的批处理文件:
ppm install Chart
ppm install Template-GD
ppm install MIME-tools
ppm install XML-Twig
ppm install PatchReader
ppm install perl-ldap
ppm install Authen-SASL
ppm install RadiusPerl
ppm install SOAP-Lite
ppm install JSON-RPC
ppm install JSON-XS
ppm install Test-Taint
ppm install HTML-Scrubber
ppm install Email-MIME-Attachment-Stripper
ppm install Email-Reply
ppm install TheSchwartz
ppm install Daemon-Generic
ppm install mod_perl
ppm install Apache-SizeLimit
ppm install Math-Random-Secure
ppm install TimeDate
ppm install DateTime
ppm install DateTime-TimeZone
ppm install Template-Toolkit
ppm install Email-Send
ppm install Email-MIME
运行它会产生以下输出:
E:\Program Files\Bugzilla>PerlModules.bat
E:\Program Files\Bugzilla>ppm install Chart
Downloading Chart-2.4.6...done
Unpacking Chart-2.4.6...done
Generating HTML for Chart-2.4.6...done
Updating files in site area...done
18 files installed
E:\Program Files\Bugzilla>
所以看起来只有批处理文件的第一行实际运行,其余的什么都不做。
最后,我用ppm help 查找了 ppm 的手册页,发现我可以一次传递所有包名,省去了解决这个问题的麻烦,但我真的不明白为什么我的小批处理文件不起作用。
我认为批处理文件只是逐行输入到 shell 提示符,等待每个完成其工作,直到它们到达文件末尾。我在这个等式中遗漏了什么?
【问题讨论】:
-
对不起,我从我的问题中挑选了一些信息,我似乎错过了一个关键点。 ppm 是 Perl 包管理器,它是一个可以正确运行的程序。我会更新问题。
-
如果你有兴趣,这里有一些信息:docs.activestate.com/activeperl/5.6/faq/ActivePerl-faq2.html
-
Aaaaa 我刚刚注意到这个重复项:stackoverflow.com/questions/4036754/… 我通常会检查重复项,但我想这是结束了我与 Bugzilla 安装的漫长的一天。它不是完全重复,因为它涉及不同的 .bat 文件,但症状和答案是相同的。
标签: windows batch-file activeperl ppm