Perl cpan安装失败,出现“错误”'';不被识别为内部或外部命令”;
我在Windows(5.26.2.1)上使用草莓Perl 64位。一些CPAN模块安装正确,例如Log::Log4perl。但是,许多不同的模块安装失败,出现相同的错误:Perl cpan安装失败,出现“错误”'';不被识别为内部或外部命令”;,perl,cpan,Perl,Cpan,我在Windows(5.26.2.1)上使用草莓Perl 64位。一些CPAN模块安装正确,例如Log::Log4perl。但是,许多不同的模块安装失败,出现相同的错误:“.”未被识别为内部或外部命令 我真的不知道该怎么办。我最好的猜测是,也许这些模块不适用于Windows,但这只是一个猜测。一个例子是Text::Trim,它的文档中没有任何消息表明它无法在Windows上工作 如果您知道如何使CPAN安装消息更详细,这也可能有助于跟踪这一点。以下是错误: cpan[6]> install
“.”未被识别为内部或外部命令
我真的不知道该怎么办。我最好的猜测是,也许这些模块不适用于Windows,但这只是一个猜测。一个例子是Text::Trim,它的文档中没有任何消息表明它无法在Windows上工作
如果您知道如何使CPAN安装消息更详细,这也可能有助于跟踪这一点。以下是错误:
cpan[6]> install Text::Trim
install Text::Trim
Running install for module 'Text::Trim'
Checksum for C:\Users\me\.cpan\sources\authors\id\M\MA\MATTLAW\Text-Trim-1.02.tar.gz ok
Configuring M/MA/MATTLAW/Text-Trim-1.02.tar.gz with Build.PL
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Text-Trim' version '1.02'
MATTLAW/Text-Trim-1.02.tar.gz
C:\Strawberry\perl\bin\perl.exe Build.PL installdirs=site -- OK
Running Build for M/MA/MATTLAW/Text-Trim-1.02.tar.gz
Building Text-Trim
MATTLAW/Text-Trim-1.02.tar.gz
C:\Strawberry\perl\bin\perl.exe ./Build -- OK
Running Build test
t\01..trim.t ..... ok
t\02..ltrim.t .... ok
t\03..rtrim.t .... ok
t\04..unicode.t .. ok
t\05..undef.t .... ok
t\99..pod.t ...... ok
All tests successful.
Files=6, Tests=63, 2 wallclock secs ( 0.05 usr + 0.70 sys = 0.75 CPU)
Result: PASS
MATTLAW/Text-Trim-1.02.tar.gz
C:\Strawberry\perl\bin\perl.exe ./Build test -- OK
Running Build install
'.' is not recognized as an internal or external command,
operable program or batch file.
MATTLAW/Text-Trim-1.02.tar.gz
./Build install -- NOT OK
Failed during this command:
MATTLAW/Text-Trim-1.02.tar.gz : install NO
请注意,我还安装了Berrybrew,因此我也认为它们可能会相互干扰,但Log::Log4perl工作的事实让我认为这相对不太可能
编辑:奇怪的是,使用cpanm安装Text::Trim有效
编辑:根据注释中的请求,下面是cpan命令提示符下o conf
的输出。但是请注意,正在运行的cpan位于C:\berrybrew\5.26.1\u 64\perl\bin\cpan.bat
,因此它从C:\草莓\C\bin
中获取某些内容的其他版本是很奇怪的
cpan[2]> o conf
$CPAN::Config options from C:\Users\me\.cpan/CPAN/MyConfig.pm:
commit [Commit changes to disk]
defaults [Reload defaults from disk]
help [Short help about 'o conf' usage]
init [Interactive setting of all options]
applypatch []
auto_commit [0]
build_cache [100]
build_dir [C:\Users\me\.cpan\build]
build_dir_reuse [0]
build_requires_install_policy [yes]
bzip2 [/mingw64/bin/bzip2]
cache_metadata [1]
check_sigs [0]
cleanup_after_install undef
colorize_debug undef
colorize_output [0]
colorize_print undef
colorize_warn undef
commandnumber_in_prompt [1]
commands_quote undef
connect_to_internet_ok [1]
cpan_home [C:\Users\me\.cpan]
curl [C:\Users\me\AppData\Local\Continuum\Anaconda3\Library\bin\curl.EXE]
dontload_hash undef
dontload_list undef
ftp undef
ftp_passive [1]
ftp_proxy []
ftpstats_period undef
ftpstats_size undef
getcwd [cwd]
gpg [/usr/bin/gpg]
gzip [/usr/bin/gzip]
halt_on_failure [0]
histfile [C:\Users\me\.cpan\histfile]
histsize [100]
http_proxy []
inactivity_timeout [0]
index_expire [1]
inhibit_startup_message [0]
keep_source_where [C:\Users\me\.cpan\sources]
load_module_verbosity [none]
lynx undef
make [C:\Strawberry\c\bin\gmake.EXE]
make_arg []
make_install_arg []
make_install_make_command [C:\Strawberry\c\bin\gmake.EXE]
makepl_arg [INSTALLDIRS=site]
mbuild_arg []
mbuild_install_arg []
mbuild_install_build_command [./Build]
mbuildpl_arg [installdirs=site]
ncftp undef
ncftpget undef
no_proxy []
pager [C:\windows\system32\more.COM]
password undef
patch [C:\Strawberry\c\bin\patch.EXE]
patches_dir undef
perl5lib_verbosity [none]
plugin_list
prefer_external_tar [0]
prefer_installer [MB]
prefs_dir [C:\Users\me\.cpan\prefs]
prerequisites_policy [follow]
proxy_pass undef
proxy_user undef
randomize_urllist undef
recommends_policy [1]
scan_cache [atstart]
shell [C:\windows\system32\cmd.exe]
show_unparsable_versions [0]
show_upload_date [0]
show_zero_versions [0]
suggests_policy [0]
tar [/usr/bin/tar]
tar_verbosity [none]
term_is_latin [1]
term_ornaments [1]
test_report [0]
trust_test_report_history [0]
unzip [/usr/bin/unzip]
urllist
0 [http://www.cpan.org/]
use_prompt_default [0]
use_sqlite [0]
username undef
version_timeout [15]
wait_list undef
wget []
yaml_load_code [0]
yaml_module [YAML]
如果安装程序正在使用系统命令(完全),您可能会更幸运地从MINGW安装
SourceTree
(git的UI)附带了“开箱即用”安装。然后可以执行cd/c/Program\Files/StrawberryPerl/bin
(或任何路径)。然后,例如,/perl.exe-MCPAN-e'install Text::Trim'
。如果可以的话..无论从哪里运行模块,都应该可以从perl访问该模块。cpan安装程序已经很详细了。创建cpanm的原因之一是为了避免冗长。使用cpanm时,可以使用-v标志添加详细信息。也就是说,我也能够使用cpanm安装这个模块,所以我猜在模块构建脚本中有一些路径,cpanm能够为windows转换,而cpan不能。不过只是猜测而已。:)我认为您的cpan
配置有问题。请从cpan>
提示符中提供o conf
的输出。Re“无论如何可能是首选的安装方法?”有些人喜欢这样说,但是没有理由使用cpanm
,除非您安装到内存不足(例如嵌入式)的系统。(至少,这是我使用cpanm
的唯一原因,我问了很多人。)它确实抑制了输出,但隐藏警告是不好的!有些人抱怨你必须按Enter来配置<代码> cPAN < /C>第一次运行它(让它自动配置),但是为额外的灵活性付出的代价很小。@ ZXYZ,如果你想要权威性的,只需检查Perl所附带的内容),我认为这不是一个权威的选择,因为它是个人的选择。没有人对这些有权威。