为什么我得到#34; 404 Not Found"和"无法更改目录"我尝试使用cpan安装Perl模块时出错?

时间:2016-05-25 19:09:31

标签: linux perl cpan

我尝试使用以下命令安装Capture::Tiny

cpan Capture/Tiny

但安装失败,输出如下:

Reading '/root/.cpan/Metadata'
  Database was generated on Wed, 25 May 2016 08:17:02 GMT
Running make for C/C//C/Ca/Capture/Tiny
Fetching with HTTP::Tiny:
http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
HTTP::Tiny failed with code[404] message[Not Found]
Fetching with HTTP::Tiny:
http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny.gz
HTTP::Tiny failed with code[404] message[Not Found]

Trying with
    /usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548"
to get
    http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
--2016-05-25 21:07:02--  http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
Resolving mirrors.dotsrc.org (mirrors.dotsrc.org)... 130.225.254.116, 2001:878:346::116
Connecting to mirrors.dotsrc.org (mirrors.dotsrc.org)|130.225.254.116|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-05-25 21:07:02 ERROR 404: Not Found.


    Function system("/usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548" "http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny" ")
    returned status 8 (wstat 2048), left
/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548 with size 0
    Warning: no success downloading '/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548'. Giving up on it.
Fetching with Net::FTP:
ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
  Couldn't cwd cpan/authors/id/C/C/C/Ca/Capture: Failed to change directory.

Fetching with Net::FTP
ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny.gz
  Couldn't cwd cpan/authors/id/C/C/C/Ca/Capture: Failed to change directory.


Trying with
    /usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548"
to get
    ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
--2016-05-25 21:07:03--  ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
           => ‘/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548’
Resolving mirrors.dotsrc.org (mirrors.dotsrc.org)... 130.225.254.116, 2001:878:346::116
Connecting to mirrors.dotsrc.org (mirrors.dotsrc.org)|130.225.254.116|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /cpan/authors/id/C/C//C/Ca/Capture ... 
No such directory ‘cpan/authors/id/C/C//C/Ca/Capture’.


    Function system("/usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548" "ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny" ")
    returned status 8 (wstat 2048), left
/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548 with size 0
    Warning: no success downloading '/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548'. Giving up on it.

Trying with
    /usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548"
to get
    http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
--2016-05-25 21:07:03--  http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
Resolving mirrors.dotsrc.org (mirrors.dotsrc.org)... 130.225.254.116, 2001:878:346::116
Connecting to mirrors.dotsrc.org (mirrors.dotsrc.org)|130.225.254.116|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-05-25 21:07:03 ERROR 404: Not Found.


    Function system("/usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548" "http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny" ")
    returned status 8 (wstat 2048), left
/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548 with size 0

Trying with
    /usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548"
to get
    ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
--2016-05-25 21:07:03--  ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
           => ‘/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548’
Resolving mirrors.dotsrc.org (mirrors.dotsrc.org)... 130.225.254.116, 2001:878:346::116
Connecting to mirrors.dotsrc.org (mirrors.dotsrc.org)|130.225.254.116|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /cpan/authors/id/C/C//C/Ca/Capture ... 
No such directory ‘cpan/authors/id/C/C//C/Ca/Capture’.


    Function system("/usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548" "ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny" ")
    returned status 8 (wstat 2048), left
/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548 with size 0
    Warning: no success downloading '/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548'. Giving up on it.
No external ftp command available

Fetching with HTTP::Tiny:
http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
HTTP::Tiny failed with code[404] message[Not Found]
Fetching with HTTP::Tiny:
http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny.gz
HTTP::Tiny failed with code[404] message[Not Found]

Trying with
    /usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548"
to get
    http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
--2016-05-25 21:07:03--  http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
Resolving mirrors.dotsrc.org (mirrors.dotsrc.org)... 130.225.254.116, 2001:878:346::116
Connecting to mirrors.dotsrc.org (mirrors.dotsrc.org)|130.225.254.116|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-05-25 21:07:03 ERROR 404: Not Found.


    Function system("/usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548" "http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny" ")
    returned status 8 (wstat 2048), left
/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548 with size 0
    Warning: no success downloading '/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548'. Giving up on it.

Trying with
    /usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548"
to get
    http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
--2016-05-25 21:07:03--  http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
Resolving mirrors.dotsrc.org (mirrors.dotsrc.org)... 130.225.254.116, 2001:878:346::116
Connecting to mirrors.dotsrc.org (mirrors.dotsrc.org)|130.225.254.116|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-05-25 21:07:03 ERROR 404: Not Found.


    Function system("/usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548" "http://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny" ")
    returned status 8 (wstat 2048), left
/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548 with size 0
    Warning: no success downloading '/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548'. Giving up on it.
Fetching with Net::FTP:
ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
  Couldn't cwd cpan/authors/id/C/C/C/Ca/Capture: Failed to change directory.

Fetching with Net::FTP
ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny.gz
  Couldn't cwd cpan/authors/id/C/C/C/Ca/Capture: Failed to change directory.


Trying with
    /usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548"
to get
    ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
--2016-05-25 21:07:03--  ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
           => ‘/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548’
Resolving mirrors.dotsrc.org (mirrors.dotsrc.org)... 130.225.254.116, 2001:878:346::116
Connecting to mirrors.dotsrc.org (mirrors.dotsrc.org)|130.225.254.116|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /cpan/authors/id/C/C//C/Ca/Capture ... 
No such directory ‘cpan/authors/id/C/C//C/Ca/Capture’.


    Function system("/usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548" "ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny" ")
    returned status 8 (wstat 2048), left
/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548 with size 0
    Warning: no success downloading '/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548'. Giving up on it.

Trying with
    /usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548"
to get
    ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
--2016-05-25 21:07:03--  ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny
           => ‘/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548’
Resolving mirrors.dotsrc.org (mirrors.dotsrc.org)... 130.225.254.116, 2001:878:346::116
Connecting to mirrors.dotsrc.org (mirrors.dotsrc.org)|130.225.254.116|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /cpan/authors/id/C/C//C/Ca/Capture ... 
No such directory ‘cpan/authors/id/C/C//C/Ca/Capture’.


    Function system("/usr/bin/wget -O "/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548" "ftp://mirrors.dotsrc.org/cpan/authors/id/C/C//C/Ca/Capture/Tiny" ")
    returned status 8 (wstat 2048), left
/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548 with size 0
    Warning: no success downloading '/root/.cpan/sources/authors/id/C/C/C/Ca/Capture/Tiny.tmp1548'. Giving up on it.
No external ftp command available

Please check, if the URLs I found in your configuration file
(http://mirrors.dotsrc.org/cpan/, ftp://mirrors.dotsrc.org/cpan/) are
valid. The urllist can be edited. E.g. with 'o conf urllist push
ftp://myurl/'

Could not fetch authors/id/C/C//C/Ca/Capture/Tiny

我尝试过多个镜像,但它们都会出现同样的错误。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:8)

尝试将命令从cpan Capture/Tiny更改为cpan Capture::Tiny。如果失败,请从here下载tarball,然后运行cpanm Capture-Tiny-0.40.tar.gz

答案 1 :(得分:4)

你跑了:

cpan Capture/Tiny
#           ^-- notice the slash

斜杠告诉cpan在指定路径上查找分发文件。在这种情况下,cpan会按作者Tiny搜索分发文件Capture。这不存在,因此下载失败。

传递路径(Foo/Bar)而不是模块名称(Foo::Bar)可以让您install a specific version分发。要安装Capture-Tiny-0.41-TRIAL,这是一个开发版本,您将运行:

cpan DAGOLDEN/Capture-Tiny-0.41-TRIAL.tar.gz

但是你可能只想安装最新的非开发版Capture :: Tiny,所以你应该运行:

cpan Capture::Tiny