Allowed memory size 内存不足

给项目安装依赖包时,有时候会遇到这个问题

PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52

Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52

Check getcomposer.org/doc/articles/troub... for more info on how to handle out of memory errors.%

大概就是内存不足的意思,看了很多网友的解决方案都是修改 memory_limit = -1,但是我并不想为了安装依赖包去修改 PHP 配置,针对这个问题, Composer 官方给出了多个解决方案。

Allowed memory size 内存不足
其中通过临时设置内存大小 COMPOSER_MEMORY_LIMIT=-1 正好符合我需求。
例如:COMPOSER_MEMORY_LIMIT=-1 composer require "spatie/laravel-permission:~3.0"

本作品采用《CC 协议》,转载必须注明作者和本文链接
为了点个赞,专门注册的账号
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 5

今晚还专门查阅了相关的资料,使用的是

php -d memory_limit=-1 composer.phar

需要注意的是 composer.phar 需要使用绝对路径.

如下这个的确不错哦,感谢总结分享!

COMPOSER_MEMORY_LIMIT=-1 composer ...
7个月前 评论

@wenyu @zavatar 觉得 low 的话,请忽略此贴,谢谢。

7个月前 评论

感谢,不过我得在前面加个env才行:

env COMPOSER_MEMORY_LIMIT=-1 composer update fzaninotto/faker
5个月前 评论

升级到 Composer 2 吧

5个月前 评论

项目中也遇到过相同的问题,设置或者加参数都可以!! :+1:

5个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!