我正在尝试使用 perlbrew 安装新的 Perl 版本:
perlbrew install perl-5.34.1
但这会产生错误:
Fetching perl 5.34.1 as /home/703404669/perl5/perlbrew/dists/perl-5.34.1.tar.gz
Download https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.34.1.tar.gz to /home/703404669/perl5/perlbrew/dists/perl-5.34.1.tar.gz
ERROR: Failed to download https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.34.1.tar.gz
ERROR: Failed to execute the command
curl --silent --location --fail -o /home/703404669/perl5/perlbrew/dists/perl-5.34.1.tar.gz https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.34.1.tar.gz
Reason:
5888
我在 Google 搜索中找不到。
我知道没有任何错别字,因为当我故意写错东西时,我会得到不同的错误。
我不知道为什么会发生这种情况,也不知道如何解决它。
编辑:
命令
curl --location https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.34.1.tar.gz > /dev/null
输出
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 17.3M 100 17.3M 0 0 68.5M 0 --:--:-- --:--:-- --:--:-- 68.5M
如何使用 perlbrew 安装 perl 版本?
5888
是0x1700
。对于使用 $?
的程序来说,这可能是 exit(0x17)
,也就是说 exit(23)
。 curl
当时使用该退出代码
23 写入错误。 Curl 无法将数据写入本地文件系统或类似文件系统。
听起来好像无法写入
/home/703404669/perl5/perlbrew/dists/perl-5.34.1.tar.gz
。
如果该目录不存在,可能是你没有正确安装
perlbrew
。
perlbrew
:
\curl -L https://install.perlbrew.pl | bash
\wget -O - https://install.perlbrew.pl | bash
\fetch -o- https://install.perlbrew.pl | sh
sudo cpan App::perlbrew
perlbrew init
您还需要按照说明在 shell 的交互式启动脚本中放置一个命令。
或者您可能没有足够的磁盘空间。您是否想将
perlbrew
安装在 /home/703404669/perl5/perlbrew
以外的地方?
默认的perlbrew根目录是
,可以在安装和初始化之前通过设置~/perl5/perlbrew
环境变量来更改。PERLBREW_ROOT
就我而言,问题是它不会为该下载创建目标文件夹。所以对我来说解决这个问题的是:
mkdir $HOME/perl5/perlbrew/dists -p
在上述情况下:
mkdir -p /home/703404669/perl5/perlbrew/dists
我对“原因 5888”的解决方案是,在第一个
perlbrew install perl-5.xx.x
之前,我必须运行 perlbrew init
来创建文件夹 ~/perl5/ 及其子文件夹。