小编典典

更新时作曲家被杀

all

我遇到了一个问题,我试图在我的 Laravel 4 项目中安装一个新包。但是当我跑步时,php composer.phar update我得到了这个:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed

我在互联网上寻找问题,发现内存是问题,我认为我没有足够的 RAM 可用,我检查了这个我有大约 411mb 可用。作曲家真的需要更多内存吗?


阅读 60

收藏
2022-08-17

共1个答案

小编典典

“Killed”消息通常意味着您的进程消耗了太多内存,因此您可能只需要在可能的情况下向系统添加更多内存。在撰写此答案时,我必须将虚拟机的内存增加到至少
768MB 才能composer update在某些情况下开始工作。

但是,如果您在实时服务器上执行此操作,则根本不应该使用composer update。你应该做的是:

  1. 在内存限制不那么严重的本地环境中运行composer update(例如直接在您的物理笔记本电脑/台式机上,或在您的笔记本电脑/台式机上运行的 docker 容器/VM)。
  2. 上传或git pushcomposer.lock 文件。
  3. composer install在实时服务器上运行。

composer install然后将从 .lock
文件中读取,每次都获取完全相同的版本,而不是查找每个包的最新版本。这使您的应用程序不太可能崩溃,并且作曲家使用更少的内存。

在此处阅读更多信息:https ://getcomposer.org/doc/01-basic-usage.md#installing-with-
composer-lock

或者,您可以将整个vendor目录上传到服务器,完全不需要运行composer install,但是您 应该 运行composer dump- autoload --optimize.

2022-08-17