【问题标题】:Why will it not install DBI?为什么它不会安装 DBI?
【发布时间】:2020-04-16 00:54:09
【问题描述】:

我已经在 Windows 10 上安装了 XAMPP。 运行 Apache 和 mySQL,工作正常。我正在测试 Perl,它也很有效。但是它无法连接到 mySQL,所以我尝试安装 DBI,但 PPM 或 CPAN 都没有被 DOS 识别。于是我安装了ActiveState-Perl,然后用CPAN安装了DBI,你可以看到下面的结果。

任何想法都会有所帮助!谢谢!!

Reading 'C:\Perl64\cpan\Metadata'
  Database was generated on Tue, 24 Dec 2019 06:29:03 GMT
Running install for module 'DBI'
Checksum for C:\Perl64\cpan\sources\authors\id\T\TI\TIMB\DBI-1.642.tar.gz ok
Scanning cache C:\Perl64/cpan/build for sizes
........................................................................----DONE
DEL(1/1): C:\Perl64\cpan\build\DBI-1.642-0.yml
DBI-1.642/
DBI-1.642/DBI.pm
DBI-1.642/dbipport.h
DBI-1.642/INSTALL
DBI-1.642/dbixs_rev.pl
DBI-1.642/Perl.xs
DBI-1.642/dbivport.h
DBI-1.642/LICENSE
DBI-1.642/dbi_sql.h
DBI-1.642/Changes
DBI-1.642/dbilogstrip.PL
DBI-1.642/MANIFEST
DBI-1.642/ex/
DBI-1.642/dbiprof.PL
DBI-1.642/Driver.xst
DBI-1.642/t/
DBI-1.642/DBI.xs
DBI-1.642/test.pl
DBI-1.642/README.md
DBI-1.642/dbd_xsh.h
DBI-1.642/typemap
DBI-1.642/dbixs_rev.h
DBI-1.642/dbiproxy.PL
DBI-1.642/DBIXS.h
DBI-1.642/META.yml
DBI-1.642/lib/
DBI-1.642/Makefile.PL
DBI-1.642/Driver_xst.h
DBI-1.642/META.json
DBI-1.642/lib/DBI/
DBI-1.642/lib/Bundle/
DBI-1.642/lib/DBD/
DBI-1.642/lib/Win32/
DBI-1.642/lib/Win32/DBIODBC.pm
DBI-1.642/lib/DBD/DBM.pm
DBI-1.642/lib/DBD/NullP.pm
DBI-1.642/lib/DBD/File/
DBI-1.642/lib/DBD/Proxy.pm
DBI-1.642/lib/DBD/ExampleP.pm
DBI-1.642/lib/DBD/Gofer/
DBI-1.642/lib/DBD/File.pm
DBI-1.642/lib/DBD/Mem.pm
DBI-1.642/lib/DBD/Gofer.pm
DBI-1.642/lib/DBD/Sponge.pm
DBI-1.642/lib/DBD/Gofer/Transport/
DBI-1.642/lib/DBD/Gofer/Policy/
DBI-1.642/lib/DBD/Gofer/Policy/classic.pm
DBI-1.642/lib/DBD/Gofer/Policy/pedantic.pm
DBI-1.642/lib/DBD/Gofer/Policy/Base.pm
DBI-1.642/lib/DBD/Gofer/Policy/rush.pm
DBI-1.642/lib/DBD/Gofer/Transport/pipeone.pm
DBI-1.642/lib/DBD/Gofer/Transport/null.pm
DBI-1.642/lib/DBD/Gofer/Transport/stream.pm
DBI-1.642/lib/DBD/Gofer/Transport/corostream.pm
DBI-1.642/lib/DBD/Gofer/Transport/Base.pm
DBI-1.642/lib/DBD/File/Developers.pod
DBI-1.642/lib/DBD/File/Roadmap.pod
DBI-1.642/lib/DBD/File/HowTo.pod
DBI-1.642/lib/Bundle/DBI.pm
DBI-1.642/lib/DBI/ProfileDumper.pm
DBI-1.642/lib/DBI/Util/
DBI-1.642/lib/DBI/PurePerl.pm
DBI-1.642/lib/DBI/Profile.pm
DBI-1.642/lib/DBI/Gofer/
DBI-1.642/lib/DBI/ProfileData.pm
DBI-1.642/lib/DBI/Const/
DBI-1.642/lib/DBI/DBD.pm
DBI-1.642/lib/DBI/W32ODBC.pm
DBI-1.642/lib/DBI/ProxyServer.pm
DBI-1.642/lib/DBI/DBD/
DBI-1.642/lib/DBI/ProfileSubs.pm
DBI-1.642/lib/DBI/ProfileDumper/
DBI-1.642/lib/DBI/SQL/
DBI-1.642/lib/DBI/SQL/Nano.pm
DBI-1.642/lib/DBI/ProfileDumper/Apache.pm
DBI-1.642/lib/DBI/DBD/SqlEngine/
DBI-1.642/lib/DBI/DBD/Metadata.pm
DBI-1.642/lib/DBI/DBD/SqlEngine.pm
DBI-1.642/lib/DBI/DBD/SqlEngine/Developers.pod
DBI-1.642/lib/DBI/DBD/SqlEngine/HowTo.pod
DBI-1.642/lib/DBI/Const/GetInfoType.pm
DBI-1.642/lib/DBI/Const/GetInfoReturn.pm
DBI-1.642/lib/DBI/Const/GetInfo/
DBI-1.642/lib/DBI/Const/GetInfo/ODBC.pm
DBI-1.642/lib/DBI/Const/GetInfo/ANSI.pm
DBI-1.642/lib/DBI/Gofer/Serializer/
DBI-1.642/lib/DBI/Gofer/Transport/
DBI-1.642/lib/DBI/Gofer/Execute.pm
DBI-1.642/lib/DBI/Gofer/Response.pm
DBI-1.642/lib/DBI/Gofer/Request.pm
DBI-1.642/lib/DBI/Gofer/Transport/pipeone.pm
DBI-1.642/lib/DBI/Gofer/Transport/stream.pm
DBI-1.642/lib/DBI/Gofer/Transport/Base.pm
DBI-1.642/lib/DBI/Gofer/Serializer/DataDumper.pm
DBI-1.642/lib/DBI/Gofer/Serializer/Storable.pm
DBI-1.642/lib/DBI/Gofer/Serializer/Base.pm
DBI-1.642/lib/DBI/Util/_accessor.pm
DBI-1.642/lib/DBI/Util/CacheMemory.pm
DBI-1.642/t/pod.t
DBI-1.642/t/90sql_type_cast.t
DBI-1.642/t/80proxy.t
DBI-1.642/t/51dbm_file.t
DBI-1.642/t/16destroy.t
DBI-1.642/t/lib.pl
DBI-1.642/t/73cachedkids.t
DBI-1.642/t/40profile.t
DBI-1.642/t/02dbidrv.t
DBI-1.642/t/86gofer_fail.t
DBI-1.642/t/53sqlengine_adv.t
DBI-1.642/t/06attrs.t
DBI-1.642/t/65transact.t
DBI-1.642/t/01basics.t
DBI-1.642/t/48dbi_dbd_sqlengine.t
DBI-1.642/t/03handle.t
DBI-1.642/t/05concathash.t
DBI-1.642/t/41prof_dump.t
DBI-1.642/t/14utf8.t
DBI-1.642/t/07kids.t
DBI-1.642/t/11fetch.t
DBI-1.642/t/19fhtrace.t
DBI-1.642/t/91_store_warning.t
DBI-1.642/t/87gofer_cache.t
DBI-1.642/t/54_dbd_mem.t
DBI-1.642/t/72childhandles.t
DBI-1.642/t/49dbd_file.t
DBI-1.642/t/85gofer.t
DBI-1.642/t/12quote.t
DBI-1.642/t/04mods.t
DBI-1.642/t/10examp.t
DBI-1.642/t/52dbm_complex.t
DBI-1.642/t/35thrclone.t
DBI-1.642/t/50dbm_simple.t
DBI-1.642/t/15array.t
DBI-1.642/t/31methcache.t
DBI-1.642/t/09trace.t
DBI-1.642/t/60preparse.t
DBI-1.642/t/20meta.t
DBI-1.642/t/pod-coverage.t
DBI-1.642/t/70callbacks.t
DBI-1.642/t/42prof_data.t
DBI-1.642/t/13taint.t
DBI-1.642/t/43prof_env.t
DBI-1.642/t/30subclass.t
DBI-1.642/t/08keeperr.t
DBI-1.642/ex/profile.pl
DBI-1.642/ex/corogofer.pl
DBI-1.642/ex/perl_dbi_nulls_test.pl
Configuring T/TI/TIMB/DBI-1.642.tar.gz with Makefile.PL
Your perl was compiled with gcc (version 4.6.3), okay.
Use of uninitialized value $DBI::DBD::Config{"cc"} in string eq at lib/DBI/DBD.pm line 3315.
Creating test wrappers for DBD::Gofer:
t/zvg_01basics.t
t/zvg_02dbidrv.t
t/zvg_03handle.t
t/zvg_04mods.t
t/zvg_05concathash.t
t/zvg_06attrs.t
t/zvg_07kids.t
t/zvg_08keeperr.t
t/zvg_09trace.t
t/zvg_10examp.t
t/zvg_11fetch.t
t/zvg_12quote.t
t/zvg_13taint.t
t/zvg_14utf8.t
t/zvg_15array.t
t/zvg_16destroy.t
t/zvg_19fhtrace.t
t/zvg_20meta.t
t/zvg_30subclass.t
t/zvg_31methcache.t
t/zvg_35thrclone.t (use threads)
t/zvg_40profile.t
t/zvg_41prof_dump.t
t/zvg_42prof_data.t
t/zvg_43prof_env.t
t/zvg_48dbi_dbd_sqlengine.t
t/zvg_49dbd_file.t
t/zvg_50dbm_simple.t
t/zvg_51dbm_file.t
t/zvg_52dbm_complex.t
t/zvg_53sqlengine_adv.t
t/zvg_54_dbd_mem.t
t/zvg_60preparse.t
t/zvg_65transact.t
t/zvg_70callbacks.t
t/zvg_72childhandles.t
t/zvg_73cachedkids.t
t/zvg_80proxy.t
t/zvg_85gofer.t
t/zvg_86gofer_fail.t
t/zvg_87gofer_cache.t
t/zvg_90sql_type_cast.t
t/zvg_91_store_warning.t
Creating test wrappers for DBI::SQL::Nano:
t/zvn_48dbi_dbd_sqlengine.t
t/zvn_49dbd_file.t
t/zvn_50dbm_simple.t
t/zvn_51dbm_file.t
t/zvn_52dbm_complex.t
t/zvn_85gofer.t
Creating test wrappers for DBI::PurePerl:
t/zvp_01basics.t
t/zvp_02dbidrv.t
t/zvp_03handle.t
t/zvp_04mods.t
t/zvp_05concathash.t
t/zvp_06attrs.t
t/zvp_07kids.t
t/zvp_08keeperr.t
t/zvp_09trace.t
t/zvp_10examp.t
t/zvp_11fetch.t
t/zvp_12quote.t
t/zvp_13taint.t
t/zvp_14utf8.t
t/zvp_15array.t
t/zvp_16destroy.t
t/zvp_19fhtrace.t
t/zvp_20meta.t
t/zvp_30subclass.t
t/zvp_31methcache.t
t/zvp_35thrclone.t (use threads)
t/zvp_40profile.t
t/zvp_41prof_dump.t
t/zvp_42prof_data.t
t/zvp_43prof_env.t
t/zvp_48dbi_dbd_sqlengine.t
t/zvp_49dbd_file.t
t/zvp_50dbm_simple.t
t/zvp_51dbm_file.t
t/zvp_52dbm_complex.t
t/zvp_53sqlengine_adv.t
t/zvp_54_dbd_mem.t
t/zvp_60preparse.t
t/zvp_65transact.t
t/zvp_70callbacks.t
t/zvp_72childhandles.t
t/zvp_73cachedkids.t
t/zvp_80proxy.t
t/zvp_85gofer.t
t/zvp_86gofer_fail.t
t/zvp_87gofer_cache.t
t/zvp_90sql_type_cast.t
t/zvp_91_store_warning.t
Creating test wrappers for DBD::Gofer + DBI::SQL::Nano:
t/zvxgn_48dbi_dbd_sqlengine.t
t/zvxgn_49dbd_file.t
t/zvxgn_50dbm_simple.t
t/zvxgn_51dbm_file.t
t/zvxgn_52dbm_complex.t
t/zvxgn_85gofer.t
Creating test wrappers for DBD::Gofer + DBI::PurePerl:
t/zvxgp_01basics.t
t/zvxgp_02dbidrv.t
t/zvxgp_03handle.t
t/zvxgp_04mods.t
t/zvxgp_05concathash.t
t/zvxgp_06attrs.t
t/zvxgp_07kids.t
t/zvxgp_08keeperr.t
t/zvxgp_09trace.t
t/zvxgp_10examp.t
t/zvxgp_11fetch.t
t/zvxgp_12quote.t
t/zvxgp_13taint.t
t/zvxgp_14utf8.t
t/zvxgp_15array.t
t/zvxgp_16destroy.t
t/zvxgp_19fhtrace.t
t/zvxgp_20meta.t
t/zvxgp_30subclass.t
t/zvxgp_31methcache.t
t/zvxgp_35thrclone.t (use threads)
t/zvxgp_40profile.t
t/zvxgp_41prof_dump.t
t/zvxgp_42prof_data.t
t/zvxgp_43prof_env.t
t/zvxgp_48dbi_dbd_sqlengine.t
t/zvxgp_49dbd_file.t
t/zvxgp_50dbm_simple.t
t/zvxgp_51dbm_file.t
t/zvxgp_52dbm_complex.t
t/zvxgp_53sqlengine_adv.t
t/zvxgp_54_dbd_mem.t
t/zvxgp_60preparse.t
t/zvxgp_65transact.t
t/zvxgp_70callbacks.t
t/zvxgp_72childhandles.t
t/zvxgp_73cachedkids.t
t/zvxgp_80proxy.t
t/zvxgp_85gofer.t
t/zvxgp_86gofer_fail.t
t/zvxgp_87gofer_cache.t
t/zvxgp_90sql_type_cast.t
t/zvxgp_91_store_warning.t
Creating test wrappers for DBI::SQL::Nano + DBI::PurePerl:
t/zvxnp_48dbi_dbd_sqlengine.t
t/zvxnp_49dbd_file.t
t/zvxnp_50dbm_simple.t
t/zvxnp_51dbm_file.t
t/zvxnp_52dbm_complex.t
t/zvxnp_85gofer.t
Creating test wrappers for DBD::Gofer + DBI::SQL::Nano + DBI::PurePerl:
t/zvxgnp_48dbi_dbd_sqlengine.t
t/zvxgnp_49dbd_file.t
t/zvxgnp_50dbm_simple.t
t/zvxgnp_51dbm_file.t
t/zvxgnp_52dbm_complex.t
t/zvxgnp_85gofer.t
Checking if your kit is complete...
Looks good
Use of uninitialized value $m[8] in join or string at C:/Perl64/site/lib/ExtUtils/MM_Unix.pm line 343.

    I see you're using perl 5.028001 on MSWin32-x64-multi-thread, okay.
    Remember to actually *read* the README file!
    Use  'make' to build the software (dmake or nmake on Windows).
    Then 'make test' to execute self tests.
    Then 'make install' to install the DBI and then delete this working
    directory before unpacking and building any DBD::* drivers.

    Windows users need to use the correct make command.
    That may be nmake or dmake depending on which Perl you are using.
    If using the Win32 ActiveState build then it is recommended that you
    use the ppm utility to fetch and install a prebuilt DBI instead.

Generating a dmake-style Makefile
Writing Makefile for DBI
Writing MYMETA.yml and MYMETA.json
  TIMB/DBI-1.642.tar.gz
  C:\Perl64\bin\perl.exe Makefile.PL INSTALLDIRS=site -- OK
Running make for T/TI/TIMB/DBI-1.642.tar.gz
'dmake' is not recognized as an internal or external command,
operable program or batch file.
  TIMB/DBI-1.642.tar.gz
  dmake -- NOT OK
Failed during this command:
 TIMB/DBI-1.642.tar.gz                        : make NO

cpan>```

【问题讨论】:

  • "'dmake' 不被识别为内部或外部命令.." :看起来dmake 可执行文件不再受支持。 Here我找到了一个2014年的可执行文件,你可以试试吗?如果它太旧,您可能需要改用gmake。另见How to install dmake with perl?dmake not found when installing Perl module using CPAN
  • 但是我怎么可能呢?我以为安装程序会自己解决这个问题? :) 我应该选择 gmake 还是链接中的那个?所有这些安装的东西都让我发疯。两个月前,我在我的 Mac 上遇到了同样的问题,但最终放弃了。现在我的电脑上出现同样的问题......叹息! .... - 我只想编写代码,而不是所有这些安装的东西。 :-(
  • IIRC,cpan dmake 将安装它。 (以前不是自动做的吗???)
  • @daxim,他们没有使用 XAMPP。他们是,但切换到 ActivePerl。

标签: perl xampp cpan


【解决方案1】:

以前,ActiveState Perl 会自动为您安装dmakeMinGW,请参阅“ppm.bat install failed: Can't find any package that provides MinGW”

我尝试使用新的 ActiveState 平台安装 perl 版本 5.28.1,请参阅 PPM 索引处的 notice

注意! PPM 正在被 ActiveState 平台取代,该平台 增强了 PPM 的构建和部署功能。创建您的免费 用于下载 ActivePerl 或自定义 Perl 的平台帐户 您需要的软件包并获得自动更新。

但是当我从ActiveState Platform 的Perl 项目的“配置”选项卡中选择“添加包”时,没有MinGW 包。

但是,对于带有 perl 版本 5.24 的旧 PPM,有一个 MinGW package

另外,如果我尝试从命令提示符运行:

>ppm install MinGW
ppm install failed: Can't find any package that provides MinGW

我建议使用Strawberry Perl,直到 ActivePerl 的这个问题得到解决。

【讨论】:

  • 我卸载了 ActiveState Perl,然后安装了 Strawberry Perl。然后是 cpan、DBI 和 DBD-mysql。并更改了#!"C:\strawberry\perl\bin\perl.exe"。
猜你喜欢
  • 2015-09-11
  • 2020-07-14
  • 2014-08-24
  • 2016-04-17
  • 1970-01-01
  • 2012-09-11
  • 1970-01-01
  • 2022-12-18
  • 2020-10-01
相关资源
最近更新 更多