How do a fix the cpan command when the SQLite index fails?

安稳与你 提交于 2019-12-24 00:58:33

问题


When attempting to use the CPAN command line, I am unable to either reload index or install any modules. There is an error with SQLite. If I disable the use of SQLite, I get a different error. Both are listed below. Has anyone found this problem before? How did you fix it?

"""WITH SQLITE"""

Fetching with LWP:
http://cpan.strawberryperl.com/modules/02packages.details.txt.gz
Fetching with LWP:
http://cpan.strawberryperl.com/modules/03modlist.data.gz
Creating database file ...

Gathering information from index files ...
fetch_info() failed! at C:\strawberry\perl\vendor\lib/CPAN/SQLite/Index.pm line
57, <DATA> line 58.
Indexing failed! at C:/strawberry/perl/vendor/lib/CPAN/SQLite.pm line 62,  <DATA> line 58. CPAN::SQLite setup failed at C:/strawberry/perl/vendor/lib/CPAN/SQLite/META.pm l ine 329, <DATA> line 58. Catching error: "system C:\\strawberry\\perl\\bin\\perl.exe -MCPAN::SQLite::META =setup,update -e setup failed: 5632 at C:\\strawberry\\perl\\vendor\\lib/CPAN/SQ Lite/META.pm line 323.\cJ" at C:/strawberry/perl/lib/CPAN.pm line 391 CPAN::shell() called at C:/strawberry/perl/lib/App/Cpan.pm line 295 App::Cpan::_process_options('App::Cpan') called at C:/strawberry/perl/li b/App/Cpan.pm line 364 App::Cpan::run('App::Cpan') called at C:\strawberry\perl\bin/cpan line 8 """USERANDPASS""" 
Fetching with LWP:
http://cpan.strawberryperl.com/modules/02packages.details.txt.gz
Fetching with LWP:
http://cpan.strawberryperl.com/modules/03modlist.data.gz
Creating database file ...

Gathering information from index files ...
fetch_info() failed! at C:\strawberry\perl\vendor\lib/CPAN/SQLite/Index.pm line
57, <DATA> line 58.
Indexing failed! at C:/strawberry/perl/vendor/lib/CPAN/SQLite.pm line 62, <DATA>
 line 58.
CPAN::SQLite setup failed at C:/strawberry/perl/vendor/lib/CPAN/SQLite/META.pm l
ine 329, <DATA> line 58.
Catching error: "system C:\\strawberry\\perl\\bin\\perl.exe -MCPAN::SQLite::META
=setup,update -e setup failed: 5632 at C:\\strawberry\\perl\\vendor\\lib/CPAN/SQ
Lite/META.pm line 323.\cJ" at C:/strawberry/perl/lib/CPAN.pm line 391
        CPAN::shell() called at C:/strawberry/perl/lib/App/Cpan.pm line 295
        App::Cpan::_process_options('App::Cpan') called at C:/strawberry/perl/li
b/App/Cpan.pm line 364
        App::Cpan::run('App::Cpan') called at C:\strawberry\perl\bin/cpan line 8

"""WITHOUT SQLITE"""

Going to read 'C:\strawberry\cpan\sources\modules\02packages.details.txt.gz'
Warning: Your C:\strawberry\cpan\sources\modules\02packages.details.txt.gz does
not contain a Line-Count header.
Please check the validity of the index file by comparing it to more
than one CPAN mirror. I'll continue but problems seem likely to
happen.
Warning: Your C:\strawberry\cpan\sources\modules\02packages.details.txt.gz does
not contain a Last-Updated header.
Please check the validity of the index file by comparing it to more
than one CPAN mirror. I'll continue but problems seem likely to
happen.
Could not split line["\cI<head>"]
...Could not split line["\cI</head>"]
Could not split line["\cI<body bgcolor=\"#ffffff\">"]
Could not split line["\cI<script language=\"javascript\">"]
Giving up parsing your C:\strawberry\cpan\sources\modules\02packages.details.txt
.gz, too many errorsGoing to read 'C:\strawberry\cpan\sources\authors\01mailrc.t
xt.gz'
............................................................................DONE

Going to read 'C:\strawberry\cpan\sources\modules\02packages.details.txt.gz'
Warning: Your C:\strawberry\cpan\sources\modules\02packages.details.txt.gz does
not contain a Line-Count header.
Please check the validity of the index file by comparing it to more
than one CPAN mirror. I'll continue but problems seem likely to
happen.
Warning: Your C:\strawberry\cpan\sources\modules\02packages.details.txt.gz does
not contain a Last-Updated header.
Please check the validity of the index file by comparing it to more
than one CPAN mirror. I'll continue but problems seem likely to
happen.
Could not split line["\cI<head>"]
...Could not split line["\cI</head>"]
Could not split line["\cI<body bgcolor=\"#ffffff\">"]
Could not split line["\cI<script language=\"javascript\">"]
Giving up parsing your C:\strawberry\cpan\sources\modules\02packages.details.txt
.gz, too many errorsLockfile removed.

回答1:


You don't need to reinstall Strawberry anytime you have a problem. I know this is Windows, but life is better than that. Try deleting C:\strawberry\cpan\sources\modules\02packages.details.txt.gz, which appears to be corrupted. CPAN.pm should re-download it if it is missing.




回答2:


I had the same problem and found the answer on this site. The problem can be solved by temporarily suspending the use of SQLite by CPAN and then updating the module that it uses it with. From the command line:

cpan
cpan> o conf use_sqlite 0
cpan> o conf commit
cpan> reload index
cpan> install CPAN::SQLite
cpan> o conf use_sqlite 1
cpan> o conf commit
cpan> ...


来源:https://stackoverflow.com/questions/9379446/how-do-a-fix-the-cpan-command-when-the-sqlite-index-fails

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!