作曲家安装的内存限制
Posted
技术标签:
【中文标题】作曲家安装的内存限制【英文标题】:Memory limit on composer installation 【发布时间】:2020-06-01 11:12:21 【问题描述】:我在数字海洋中有一个云,它有 1 GB 的内存。 我需要安装一个docker、laravel、mysql、nginx环境,我找到了laradock并正常安装了,但是在容器中运行composer时,我返回了内存限制错误。
错误运行:composer install
root@b9864446a1e1:/var/www/site# composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
mmap() failed: [12] Cannot allocate memory
mmap() failed: [12] Cannot allocate memory
php Fatal error: Out of memory (allocated 677388288) (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52
Fatal error: Out of memory (allocated 677388288) (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/RuleWatchGraph.php on line 52
尝试更改内存时出错。
警告:您的内核不支持交换限制功能或 cgroup 未安装。内存有限,无交换。
【问题讨论】:
这能回答你的问题吗? Composer update memory limit 否,执行更新命令时出现以下错误!!! mmap() 失败:[12] 无法分配内存 mmap() 失败:[12] 无法分配内存 PHP 致命错误:phar:///usr/local/ 中的内存不足(已分配 266338304)(尝试分配 4096 字节) bin/composer/src/Composer/Package/Loader/ArrayLoader.php 第 241 行致命错误: phar:///usr/local/bin/composer/src 中的内存不足(已分配 266338304)(试图分配 4096 字节) /Composer/Package/Loader/ArrayLoader.php 第 241 行 你在 VPS 上运行吗? 是的,在数字海洋中有 1gb 内存的云。 【参考方案1】:这可能是因为 VPS 内存不足并且没有启用交换空间。
free -m
total used free shared buffers cached
Mem: xxxx xxx xxxx x x xxx
-/+ buffers/cache: xxx xxxx
Swap: 0 0 0
要启用交换,您可以使用例如:
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
您可以在this tutorial from DigitalOcean 之后创建一个永久交换文件。
【讨论】:
最后一条命令失败并显示消息swapon: /var/swap.1: swapon failed: Operation not permitted
以上是关于作曲家安装的内存限制的主要内容,如果未能解决你的问题,请参考以下文章