композитор убит при обновлении

У меня проблема, я попытался установить новый пакет в свой проект laravel 4. Но когда я запускаю php composer.phar update я получаю следующее:

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

Я искал проблему в Интернете и увидел, что проблема в памяти, я думаю, что у меня недостаточно оперативной памяти, я проверил это у меня около 411mb бесплатно. Действительно ли композитору требуется больше оперативной памяти? Может кто-то мне помочь, пожалуйста?

благодаря

В зависимости от количества зависимостей вашего проекта вам может потребоваться больше памяти в вашей системе. Я должен был увеличить память своей виртуальной машины, по крайней мере, до 768 МБ, чтобы в некоторых ситуациях получить composer update для composer update .

Однако, если вы делаете это на реальном сервере, вы не должны использовать composer update .

Что вам нужно сделать:

  1. Запустите composer update в локальной среде (либо на вашей физической машине, либо на виртуальной машине разработки)
  2. Загрузить или git push файл composer.lock
  3. Запустить composer install на живом сервере

composer install будет затем читать из .lock-файла, получая одни и те же версии каждый раз, а не находить последние версии каждого пакета. Это делает ваше приложение менее вероятным для взлома, а композитор использует меньше памяти.

Подробнее здесь: https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file

Если я, как и я, вы используете некоторую микро-виртуальную машину без памяти, создание файла подкачки делает трюк:

 free -m mkdir -p /var/_swap_ cd /var/_swap_ #Here, 1M * 2000 ~= 2GB of swap memory dd if=/dev/zero of=swapfile bs=1M count=2000 mkswap swapfile swapon swapfile chmod 600 swapfile echo "/var/_swap_/swapfile none swap sw 0 0" >> /etc/fstab #cat /proc/meminfo free -m 

btw, не стесняйтесь выбирать другое местоположение / имя файла / размер для файла.
/ var, вероятно, не лучшее место, но я не знаю, какое место было бы, и редко бывало, потому что крошечные серверы в основном используются для тестирования.

Это связано с тем, что на вашем хостинге заканчивается память, пожалуйста, просмотрите этот учебник https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-12-04

Несомненно, композитор требует много оперативной памяти и вычислительной мощности. Вот несколько вещей, которые я сделал, которые в совокупности сделали этот процесс терпимым. Это было на моем облачном мануале env.

  1. Возможно, у вас просто закончилось ОЗУ. Включить swap: https://www.digitalocean.com/community/search?query=how+to+add+swap (примечание: я считаю, что наилучшей практикой является добавление отдельного раздела. Руководство Digitalocean подходит для их среды)
  2. service mysql stop (убейте свои service mysql stop DB / mem-hog, чтобы освободить некоторую ОЗУ – не забудьте запустить его снова!)
  3. используйте сессию вторичного терминала, чтобы просмотреть потребление памяти / подкачки, пока процесс не будет завершен.
  4. composer.phar update --prefer-dist -vvv (подробный вывод [по-прежнему зависает в некоторых случаях при работе] и использует файлы zip-файла zip). Может быть, попробуй --dry-run ?
  5. Похоже, что композитор работает медленнее в более старых версиях PHP (например, 5.3x). Это было все еще медленным в 5.5.9 для меня …

В случае, если кто-то еще встретится с этой проблемой. Это может привести к тому, что предел дискретизации превысит.

Вы можете попробовать установить preferred-install в "dist" в конфигурации Composer WP CLI – обычно в ~/.wp-cli/packages/composer.json .