【问题标题】:cpan(1) fails with 'Cannot allocate memory'cpan(1) 因“无法分配内存”而失败
【发布时间】:2015-10-21 03:08:18
【问题描述】:

我在尝试为 Perl 安装 Moose 包时收到以下错误“无法分配内存”。

谁能告诉我这里出了什么问题?

ricky@rickyp:~$ sudo cpan install Moose
Reading '/home/ricky/.cpan/Metadata'
  Database was generated on Wed, 29 Jul 2015 21:41:02 GMT
Running install for module 'Moose'
Running make for E/ET/ETHER/Moose-2.1405.tar.gz
Checksum for /home/ricky/.cpan/sources/authors/id/E/ET/ETHER/Moose-2.1405.tar.gz ok
Uncompressed /home/ricky/.cpan/sources/authors/id/E/ET/ETHER/Moose-2.1405.tar.gz successfully
Using Tar:/bin/tar xf "Moose-2.1405.tar":
Couldn't untar Moose-2.1405.tar: 'Cannot allocate memory'
Package seems to come without Makefile.PL.
  (The test -f "/home/ricky/.cpan/build/ETHER-Al52av/Makefile.PL" returned false.)
  Writing one on our own (setting NAME to Moose)
  Had problems unarchiving. Please build manually
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install
ricky@rickyp:~$

【问题讨论】:

  • @choroba 或者,cpanm 使用的内存可能比 cpan 少。
  • @choroba 我有一个 256 MB 内存的 VPS,我没有遇到这个问题。嗯……
  • 你有多少内存?其他程序使用了多少? Web 浏览器可能会占用大量内存...尝试关闭其他所有内容并重试。

标签: perl ubuntu makefile cpan


【解决方案1】:

果然,这意味着“硬故障需要更多可用内存”。我可以通过关闭我的 chrome 浏览器来让它工作 LOL

【讨论】:

    【解决方案2】:

    我也遇到过同样的情况。如果您使用的是虚拟机,请增加基本内存 [RAM]。 CPAN 安装应该可以工作。

    【讨论】:

      【解决方案3】:

      我最近在没有交换分区的机器上遇到了同样的问题。添加一个小的交换文件(dd /dev/zero 到新文件,文件上的 mkswap,swapon)解决了这个问题,即使 cpan 似乎没有使用任何大量的内存或交换。

      【讨论】:

        【解决方案4】:

        如果您在内存有限的系统上使用 cpan(1),例如底层托管帐户,CPAN.pm 可能无法适应内存中的模块索引或占用您所拥有的大部分内存。 CPAN 存储库现在很大,所以以前是一个小的索引文件是相当大的。事实上,这对我来说是整个过程中最烦人的部分,因为下载和加载需要很长时间。

        cpanminus (cpanm) 通过使用 MetaCPAN API 来查找它需要的信息来做不同的事情。它的内存占用非常小。

        或者,您可能在同时运行其他占用内存的东西。

        【讨论】:

          【解决方案5】:

          回答,因此不再无人回答。 OP 通过使用cpanm 解决了他的问题。

          如果您在安装模块时遇到问题,cpanp 可能是您可以查看的另一种 cpan 替代方案。

          【讨论】:

          • cpanp 可能有同样的问题。
          • 可能是另一种选择”应该提示您先尝试 cpanm。
          猜你喜欢
          • 2012-07-29
          • 2013-08-24
          • 2015-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-20
          • 1970-01-01
          相关资源
          最近更新 更多