我正在尝试在本地系统(Windows 7)中安装Perl模块之一。但是无法安装模块
这是它的显示内容
C:\Windows\system32>perl -MCPAN -e "install Net::SFTP"
Reading 'C:\Users\AppData\Local\.cpan\Metadata'
Database was generated on Sun, 26 May 2019 05:17:03 GMT
Running install for module 'Net::SFTP'
Checksum for C:\Users\AppData\Local\.cpan\sources\authors\id\L\LK\LKINLE
Y\Net-SFTP-0.12.tar.gz ok
Configuring L/LK/LKINLEY/Net-SFTP-0.12.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite Math::Int64 0.54 not found.
Warning: prerequisite Net::SSH::Perl 2.12 not found.
The getpwuid function is unimplemented at C:/Perl64/lib/ExtUtils/MakeMaker.pm li
ne 1064.
Warning: No success on command[C:\Perl64\bin\perl.exe Makefile.PL INSTALL_BASE=~
/perl5]
LKINLEY/Net-SFTP-0.12.tar.gz
C:\Perl64\bin\perl.exe Makefile.PL INSTALL_BASE=~/perl5 -- NOT OK
之前运行良好,我已经安装了两个模块,不知道突然发生了什么。
请帮助我解决此问题。我需要在配置中进行任何修改吗?
答案 0 :(得分:1)
您要告诉Perl进入~/perl5
。这不是Windows路径,ExtUtils :: MakeMaker正在使用unix特定的函数(getpwuid
)对其进行扩展。如果使用Windows路径,则问题应该会消失。
也就是说,如果您有权写入C:\Perl64\...
,建议您通过删除INSTALL_BASE=~/perl5
将模块安装到默认目录。
如果您无权写入C:\Perl64\...
,建议您将Perl本身直接安装在您有权写入的目录中,然后通过以下方式将模块安装到默认目录中:删除INSTALL_BASE=~/perl5
。
由于您实际上没有在命令行上指定INSTALL_BASE=~/perl5
,因此可以通过环境(PERL_MM_OPT
和PERL_MB_OPT
)或cpan
来指定它配置(o conf
中的cpan
)。