尝试安装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:~$
答案 0 :(得分:5)
答案 1 :(得分:3)
如果您在内存有限的系统上使用 cpan(1),例如底层托管帐户,则CPAN.pm可能无法使内存中的模块索引适合或占用你拥有的大部分记忆。 CPAN存储库现在很大,所以以前的小索引文件非常大。实际上,对我来说这是最烦人的部分,因为下载和加载需要相当长的时间。
cpanminus(cpanm)通过使用MetaCPAN API查找所需的信息来做一些不同的事情。它的内存占用非常小。
或者,你可能在占用内存的同时运行其他东西。
答案 2 :(得分:1)
我最近在一个没有交换分区的盒子上遇到了同样的问题。添加一个小的交换文件(dd / dev / zero到新文件,文件上的mkswap,swapon)修复了问题,即使cpan似乎没有使用任何大量的内存或交换。
答案 3 :(得分:0)
我也面对过同样的事情。如果使用虚拟机,请增加基本内存[RAM]。 CPAN安装应该可以。
答案 4 :(得分:0)
果然,这意味着“硬故障,您需要更多可用内存”。我可以通过关闭我的 chrome 浏览器来让它工作,哈哈