我遇到了一个问题,我试图在我的 Laravel 4 项目中安装一个新包。但是当我运行 php composer.phar update
我得到这个:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed
我在互联网上寻找问题,发现内存是问题,我认为我没有足够的 RAM 可用,我检查了这个我有大约 411mb 可用。作曲家真的需要更多内存吗?
原文由 cherrycoding 发布,翻译遵循 CC BY-SA 4.0 许可协议
“Killed”消息通常意味着您的进程消耗了太多内存,因此您可能只需要在可能的情况下向系统添加更多内存。在撰写此答案时,我必须将虚拟机的内存增加到至少 768MB 才能让
composer update
在某些情况下工作。但是,如果您在实时服务器上执行此操作,则根本不应该使用
composer update
。你应该做的是:composer update
(例如直接在您的物理笔记本电脑/台式机上,或在您的笔记本电脑/台式机上运行的 docker 容器/VM)。git push
composer.lock 文件。composer install
。composer install
然后将从 .lock 文件中读取,每次都获取完全相同的版本,而不是查找每个包的最新版本。这使您的应用程序不太可能崩溃,并且作曲家使用更少的内存。在此处阅读更多信息: https ://getcomposer.org/doc/01-basic-usage.md#installing-with-composer-lock
或者,您可以将整个
vendor
目录上传到服务器,完全无需运行composer install
,但是您 应该 运行composer dump-autoload --optimize
。