我似乎无法通过cpan(来自Cygwin)安装Configure :: General。问题似乎是找不到makefile但它肯定存在。该模块已安装在非@ INC目录中。 我试过这样:{How do I 'use' a Perl module in a directory not in @INC?对输出没有影响。我也尝试了这个:[I installed a module successfully with CPAN, but perl can't find it. Why?我收到一个错误,说'找不到'命令(所以我猜我的修复程序的实现是有问题的)
perl -V的输出:
Summary of my perl5 (revision 5 version 22 subversion 4) configuration:
Platform:
osname=cygwin, osvers=2.8.1(0.31253), archname=cygwin-thread-multi
uname='cygwin_nt-6.3 cygwin 2.8.1(0.31253) 2017-07-03 14:11 x86_64 cygwin '
config_args='-des -Dprefix=/usr -Dmksymlinks -Darchname=x86_64-cygwin-threads -Dlibperl=cygperl5_22.dll -Dcc=gcc -Dld=g++ -Accflags=-ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/build=/usr/src/debug/perl-5.22.4-1 -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/src/perl-5.22.4=/usr/src/debug/perl-5.22.4-1 -fwrapv'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV -D_GNU_SOURCE -U__STRICT_ANSI__ -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/build=/usr/src/debug/perl-5.22.4-1 -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/src/perl-5.22.4=/usr/src/debug/perl-5.22.4-1 -fwrapv -fno-strict-aliasing -fstack-protector-strong -D_FORTIFY_SOURCE=2',
optimize='-O3',
cppflags='-DPERL_USE_SAFE_PUTENV -D_GNU_SOURCE -U__STRICT_ANSI__ -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/build=/usr/src/debug/perl-5.22.4-1 -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/src/perl-5.22.4=/usr/src/debug/perl-5.22.4-1 -fwrapv -fno-strict-aliasing -fstack-protector-strong'
ccversion='', gccversion='5.4.0', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='g++', ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong'
libpth=/usr/lib
libs=-lpthread -lgdbm -ldb -ldl -lcrypt -lgdbm_compat
perllibs=-lpthread -ldl -lcrypt
libc=/usr/lib/libcygwin.a, so=dll, useshrplib=true, libperl=cygperl5_22.dll
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' --shared -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
PERL_IMPLICIT_CONTEXT PERL_NEW_COPY_ON_WRITE
PERL_PRESERVE_IVUV PERL_USE_SAFE_PUTENV
USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
Built under cygwin
Compiled at Jul 15 2017 20:11:53
@INC:
/usr/lib/perl5/site_perl/5.22/x86_64-cygwin-threads
/usr/lib/perl5/site_perl/5.22
/usr/lib/perl5/vendor_perl/5.22/x86_64-cygwin-threads
/usr/lib/perl5/vendor_perl/5.22
/usr/lib/perl5/5.22/x86_64-cygwin-threads
/usr/lib/perl5/5.22
.
[1]: http://'use'%20a%20perl%20module
[2]: http://cpan%20can't%20find%20module
安装失败的输出:
CPAN: Storable loaded ok (v2.53_02)
Reading '/home/BobTewilliger/.cpan/Metadata'
Database was generated on Tue, 12 Sep 2017 03:17:02 GMT
Running install for module 'Config::General'
CPAN: Digest::SHA loaded ok (v5.96)
CPAN: Compress::Zlib loaded ok (v2.068001)
Checksum for /home/BobTewilliger/.cpan/sources/authors/id/T/TL/TLINDEN/Config-General-2.63.tar.gz ok
CPAN: File::Temp loaded ok (v0.2304)
CPAN: YAML loaded ok (v1.23)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
CPAN: Module::CoreList loaded ok (v5.20170715_22)
Configuring T/TL/TLINDEN/Config-General-2.63.tar.gz with Makefile.PL
TLINDEN/Config-General-2.63.tar.gz
/usr/bin/perl Makefile.PL -- OK
Running make for T/TL/TLINDEN/Config-General-2.63.tar.gz
TLINDEN/Config-General-2.63.tar.gz
/cygdrive/c/Rtools/bin/make.EXE -- NOT OK
当我尝试运行'makeimage'时,会返回错误,说无法找到config.pm。文件exosts。只是不在@INC。
我对PERL非常陌生,我知道网上已经提出了类似的问题,但我无法运行。最初的问题是YAML,我设法解决了,但是由于某种原因,同样的解决方案不适用于此:/
编辑:我在Windows 7机器上运行Strawberry PERL