问题
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