perl - INSTALL_BASE=~/perl5 -- 不正常 - 安装 Perl 模块时
问题描述
我正在尝试在我的本地系统(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
它之前工作正常,我已经安装了几个模块,不知道突然发生了什么。
请帮我解决这个问题。我需要在配置中进行任何修改吗?
解决方案
你告诉 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
and PERL_MB_OPT
)或在cpan
的配置中(o conf
from within cpan
)指定它。
推荐阅读
- python - 如何使用 ODBC 链接 SQL 数据库并在 Python 中进行 SQL 查询
- c# - 为什么没有同时处理具有基本身份验证的 ASP.NET Web Api 请求?
- visual-studio - Visual Studio Extension 修改 Go to All 搜索结果?
- html - 背景中的图像始终位于同一位置?
- php - 以 Symfony 形式获取文件的数据
- angular - 如何在 angular4 的服务中调用管道?
- c++ - 使用矢量时 C++ 超出范围
- javascript - Javascript倒数计时器功能无法正常工作
- javascript - 如何在 Office JavaScript 加载项中调用 .NET dll?
- npm - sudo npm install 和 npm install 的区别