彻底解决drupal composer因内存不足导致被killed的问题

逆流の鱼, 22 九月, 2020

这个问题通常出现在drupal8目录下,执行composer update命令时,因内存不足导致composer进程被killed掉。

Using version ^1.14 for drupal/metatag
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed

解决方法如下

创建一个4G的交换文件并激活,再指定composer使用4G的内存限制。

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=4096
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
chmod 600 /var/swap.1
php -d memory_limit=4G /usr/local/bin/composer update

还可以,-1表示无内存限制。

php -d memory_limit=-1 /usr/local/bin/composer update

如果原先已有交换文件过小,譬如是2G的交换文件,已不足以应付Drupal 9的composer运行,需要先把这个旧的交换文件删掉,再重新创建。

#卸载swap file
swapoff /var/swap.1
rm /var/swap.1

 

评论