Perl cpan安装失败,出现“错误”'';不被识别为内部或外部命令”;

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(5.26.2.1)上使用草莓Perl 64位。一些CPAN模块安装正确,例如Log::Log4perl。但是,许多不同的模块安装失败,出现相同的错误:
“.”未被识别为内部或外部命令

我真的不知道该怎么办。我最好的猜测是,也许这些模块不适用于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所附带的内容),我认为这不是一个权威的选择,因为它是个人的选择。没有人对这些有权威。