CPAN“。”未被识别为内部或外部命令 - Windows 10
Posted
技术标签:
【中文标题】CPAN“。”未被识别为内部或外部命令 - Windows 10【英文标题】:CPAN "." is not recognized as an internal or external command - Windows 10 【发布时间】:2020-12-09 05:50:03 【问题描述】:尝试在 Windows 10 机器上安装 PAM 模块。目前运气不太好。不知道为什么我会收到这个错误。
cpan> install Authen::PAM
Running install for module 'Authen::PAM'
Checksum for C:\STRAWB~1\cpan\sources\authors\id\N\NI\NIKIP\Authen-PAM-0.16.tar.gz ok
Configuring N/NI/NIKIP/Authen-PAM-0.16.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
'.' is not recognized as an internal or external command,
operable program or batch file.
Error in configuring the Authen::PAM module.
Warning: No success on command[C:\Strawberry\perl\bin\perl.exe Makefile.PL]
NIKIP/Authen-PAM-0.16.tar.gz
C:\Strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK
Stopping: 'install' failed for 'Authen::PAM'.
Failed during this command:
NIKIP/Authen-PAM-0.16.tar.gz : writemakefile NO 'C:\Strawberry\perl\bin\perl.exe Makefile.PL' returned status 512
【问题讨论】:
.
是 Unix/Linux 系统上的内置 shell 命令。好像这个模块不能安装在 Windows 上。虽然您可以让 Bash 在 Windows 上运行,但这可能无济于事,因为 PAM 库无论如何都不支持 Windows。
@amon,它实际上使用的是./confgiure
,而不是.
。 Windows 认为这意味着程序 .
带有参数 /configure
。用system('"./configure"')
、system(".\\configure")
或system("configure")
替换system("./configure")
将不起作用。它们都会按预期执行包含的 configure
脚本,但它是 Bourne shell 脚本,所以它不起作用。
【参考方案1】:
该模块不支持 Windows。
具体来说,该错误是由于模块的安装程序与 Windows 不兼容造成的。它尝试执行 Bourne shell 命令来调用 Bourne shell 脚本,而您的机器上没有这样的 shell。即使您可以安装这样的外壳,也无济于事。该脚本仅适用于 unixy 系统。[1]
-
有多种方法可以在 Windows 上创建 unixy 环境。由 Windows Subsystem for Linux (WSL)、Cygwin 和 MSYS 创建的虚拟环境可能支持该模块,但必须使用这些环境中的
perl
。
【讨论】:
以上是关于CPAN“。”未被识别为内部或外部命令 - Windows 10的主要内容,如果未能解决你的问题,请参考以下文章