簡體   English   中英

cpan App::cpanminus 失敗並出現多個錯誤:“放棄解析您的 /Users/foo/.cpan/sources/modules/02packages.details.txt.gz,錯誤太多”

[英]cpan App::cpanminus fails with multiple errors: "Giving up parsing your /Users/foo/.cpan/sources/modules/02packages.details.txt.gz, too many errors"

我正在嘗試使用cpan App::cpanminus安裝 App::cpanminus Perl 模塊。 我收到以下錯誤。 如何修復錯誤並安裝模塊?

% cpan App::cpanminus
Reading '/Users/foo/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with HTTP::Tiny:
http://mirrors.ccs.neu.edu/CPAN/modules/02packages.details.txt.gz
HTTP::Tiny failed with an internal error: Could not connect to 'mirrors.ccs.neu.edu:80': nodename nor servname provided, or not known


Trying with
    /usr/local/bin/wget -O "/Users/foo/.cpan/sources/modules/02packages.details.txt.gz.tmp73271"
to get
    http://mirrors.ccs.neu.edu/CPAN/modules/02packages.details.txt.gz
--2021-11-02 11:31:07--  http://mirrors.ccs.neu.edu/CPAN/modules/02packages.details.txt.gz
Resolving mirrors.ccs.neu.edu (mirrors.ccs.neu.edu)... failed: nodename nor servname provided, or not known.
wget: unable to resolve host address 'mirrors.ccs.neu.edu'

...
Saving to: '/Users/foo/.cpan/sources/modules/02packages.details.txt.gz.tmp73271'

/Users/foo/.cpan/source     [ <=>                                              ]  43.63K  --.-KB/s    in 0.001s  

2021-11-02 11:31:08 (34.3 MB/s) - '/Users/foo/.cpan/sources/modules/02packages.details.txt.gz.tmp73271' saved [44681]

Reading '/Users/foo/.cpan/sources/modules/02packages.details.txt.gz'
Warning: Your /Users/foo/.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 /Users/foo/.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[""]
Could not split line[""]
.Could not split line["    !function(f,b,e,v,n,t,s)"]
Could not split line["    {if(f.fbq)return;n=f.fbq=function(){n.callMethod?"]
Giving up parsing your /Users/foo/.cpan/sources/modules/02packages.details.txt.gz, too many errors

在我看來,嘗試使用多種方法下載文件,但都失敗了,讓您沒有文件或文件為空。

這表明存在網絡問題。 您需要修復網絡問題才能繼續。 也許您需要使用不同的鏡像,或者可能需要指導下載者使用代理。

請注意,您可以刪除該文件,從而強制再次嘗試下載它。


更新:我檢查了您的cpan配置使用的 URL 的有效性( http://mirrors.ccs.neu.edu/CPAN ),這很糟糕。 名稱mirrors.ccs.neu.edu無法解析。 因此,您需要配置cpan以使用不同的鏡像。

要告訴cpan使用其他東西,請運行cpan 從內部,使用o conf init urllisto conf urllist http://www.cpan.org/ 不要忘記在退出之前使用o conf commit保存設置( quit )。

你也可以使用類似的東西

printf '%s\n%s\n' 'o conf urllist http://www.cpan.org/' 'o conf commit' | cpan

更新:盡管下面的答案對我有用,但我后來了解到一個更好的答案,以及對根本原因的正確解釋。 請參閱上面來自池上的答案,了解首選和接受的方法。 出於歷史目的保留以下答案,因為它也有效。

錯誤的原因是文件 02packages.details.txt.gz和/或可能的其他文件已損壞。 .cpan目錄移動到新位置並再次重新運行該命令。 它現在應該可以工作了。

cd && mv .cpan .cpan-bak
cpan App::cpanminus

印刷:

CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes] 
...
  MIYAGAWA/App-cpanminus-1.7044.tar.gz
  /usr/bin/make install  -- OK

這個確認的工作解決方案是從Arjuna Del Toso 的這個答案復制到類似問題的,所有的功勞都應該歸於誰。 我將它張貼在這里,以便搜索此錯誤消息會導致此頁面具有有效的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM