我已经成功地从python运行了一段时间的perl脚本。我刚刚把所有的东西都转移到了一台新电脑上(两者都在运行Windows 10),我遇到了一些问题。
在运行脚本时,我会得到以下错误:
Can't locate DBI.pm in @INC (you may need to install the DBI module) (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl)在第一行use DBI;上。
我移到使用Perl (command line),选择了带有脚本的文件夹,并运行了perl <filename> -相同的错误。
DBI似乎正确地安装在C:\Strawberry\perl\vendor\lib中,当我通过perl -V检查时,该目录就在我的@INC中。
@INC:
C:/Strawberry/perl/site/lib
C:/Strawberry/perl/vendor/lib
C:/Strawberry/perl/lib我再次尝试使用DBI安装cpan Module::DBI,但是我得到了错误:
Could not expand [Module::DBI]. Check the module name.我尝试过用perl -MCPAN -e "install Bundle::DBI"安装它,但是它失败了:
Test Summary Report
-------------------
t/original.t (Wstat: 0 Tests: 27 Failed: 1)
Failed test: 26
Files=1, Tests=27, 1 wallclock secs ( 0.05 usr + 0.01 sys = 0.06 CPU)
Result: FAIL
Failed 1/1 test programs. 1/27 subtests failed.
gmake: *** [Makefile:863: test_dynamic] Error 255
NEILB/IO-Tee-0.65.tar.gz
C:\STRAWB~1\c\bin\gmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports NEILB/IO-Tee-0.65.tar.gz
Stopping: 'install' failed for 'IO::Tee'.在我以前的机器上设置时,我没有任何问题(两次都是普通的安装,没有额外模块的导入)。
我试过几次重新安装草莓,但都没有用。我尝试过安装perlbrew和ActivePerl,但是这两个都遇到了问题。我现在也用尽了谷歌的潜在解决方案。
有什么想法吗?
编辑:
按照建议这里,我运行了perl -e "use DBI;",没有错误消息,这显然意味着DBI已正确安装?
编辑2
好的,我已经设法让事情通过Perl (command line),也通过cmd -它需要一个完整的重新安装MySQL,这并不是真正有意义的,但无论如何。但是,我仍然不能使用Git Bash执行脚本。我总是犯同样的错误.
发布于 2020-08-13 23:45:46
更新:修复IO-Tee 0.66.中的错误
失败的测试假设sysread遵从在Windows中添加到文件句柄中的:crlf层。但事实并非如此,这是一个糟糕的测试,与模块无关。因此,由于这是唯一失败的测试,因此可以使用以下方法安全地强制安装模块:
cpan -f IO::Tee在测试失败的情况下强制安装模块通常是个坏主意,因为这意味着您要强制安装可能损坏的模块。但是这里没有问题,因为已经确定问题在于测试,而不是模块本身。
我已经提交了一个错误报告,其中包含了对问题的更彻底的解释和解决方案。
https://stackoverflow.com/questions/63404275
复制相似问题