作曲家更新内存限制
2022-08-30 06:50:58
将其设置为使用尽可能多的内存:
COMPOSER_MEMORY_LIMIT=-1 composer update
当您运行时,操作系统将查看配置的路径,并尝试找到具有该名称的可执行文件。composer update
运行时,该字符串被视为 PHP 的参数,不会在任何路径中搜索该参数。您必须提供完整路径才能运行它。php composer update
composer
运行将告诉您操作系统在哪里可以找到 composer 可执行文件,然后您只需在 PHP 命令中使用完整路径:which composer
$>which composer
/usr/local/bin/composer
$>php -d memory_limit=512M /usr/local/bin/composer update
...
请注意,512MB 可能太少。我的感觉是,它很乐意花费1GB或更多,具体取决于您使用的依赖项的数量以及理论上允许的版本种类,即如果您允许 Symfony ,那么与使用相比,您可以使Composer处理更多可能的版本。~2.3
~2.7
另请注意,在生产计算机上运行 Composer 并不是最好的主意。您必须有权访问Github,可能提供访问凭据,安装VCS工具,并且如果任何远程托管服务器在更新期间脱机,您将很容易破坏您的网站。最好在完成所有准备工作的部署系统上使用 Composer,然后将所有文件移动到生产服务器上。
更新
现在是2020年,Composer管理记忆的方式已经发生了很大的变化。最重要的是,如果 Composer 遇到设置得太低的限制,它将自行增加内存限制。但是,这会立即触发在安装了太多内存的计算机上内存不足的问题。您可以通过将环境变量设置为 类似 ,使 Composer 使用较少的内存,但如果 Composer 需要更多内存才能正确运行,这将产生问题。COMPOSER_MEMORY_LIMIT=512M
我的主要观点仍然是正确的:不要在安装了太少内存的计算机上运行Composer。您可能需要1.5 GB的可用内存才能更新所有内容。