2014-01-21 2 views
0

Я делал то же самое на своем сервере несколько недель назад, но теперь я не могу. Вот мой вывод ошибки:Composer не удалось установить и обновить

композитор установки

Loading composer repositories with package information 
Installing dependencies (including require-dev) 
PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:974 
Stack trace: 
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 974, Array) 
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(974): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array) 
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(793): Symfony\Component\Console\Application->getSttyColumns() 
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(754): Symfony\Component\Console\Application->getTerminalDimensions() 
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(688): Symfony\Component\Console\Application->getTerminalWidth() 
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 974 

Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:974 
Stack trace: 
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 974, Array) 
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(974): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array) 
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(793): Symfony\Component\Console\Application->getSttyColumns() 
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(754): Symfony\Component\Console\Application->getTerminalDimensions() 
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(688): Symfony\Component\Console\Application->getTerminalWidth() 
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 974` 

ответ

3

я когда-то имел эту проблему, увеличивая объем памяти решил. Вы можете попробовать.

+0

Как вы это сделаете? В файле php.ini? –

1

Добавление композиции в файлы отслеживаемых файлов устраняет проблему.

git add -f composer.lock 
git add . 
git commit -m 'remove composer.lock from ignored files' 
git push 

, а затем,

git clone .... 

в сервере.

Проблема решена.

Спасибо в любом случае.

+0

Вы ДОЛЖНЫ зафиксировать файл 'composer.lock', потому что иначе вызов' composer install' будет вести себя как 'comper update', который является потребляемой памятью и, вероятно, не будет устанавливать версии, с которыми вы тестировали. – Sven

0

Я столкнулся с той же проблемой, что и при обновлении, исправлена ​​моя проблема.

Судо композитор самообновляться

// это установит память. PHP -dmemory_limit = -1 обновление композитор

или

Sudo PHP -dmemory_limit = -1 обновление композитор

1

Если вы работаете под виртуальной среде, как бродяга, например, убедитесь, что своп включен. Запуск сценария ниже, чтобы создать SWAP

#!/bin/sh 

# size of swapfile in megabytes 
swapsize=512 

# does the swap file already exist? 
grep -q "swapfile" /etc/fstab 

# if not then create it 
if [ $? -ne 0 ]; then 
    echo 'swapfile not found. Adding swapfile.' 
    fallocate -l ${swapsize}M /swapfile 
    chmod 600 /swapfile 
    mkswap /swapfile 
    swapon /swapfile 
    echo '/swapfile none swap defaults 0 0' >> /etc/fstab 
else 
    echo 'swapfile found. No changes made.' 
fi 

# output results to terminal 
cat /proc/swaps 
cat /proc/meminfo | grep Swap 

источник: http://www.nyayapati.com/srao/2014/05/youcompleteme-install-fails-due-to-internal-compiler-error/

0

Чтобы решить эту проблему, увеличить объем памяти подкачки:

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 
/sbin/mkswap /var/swap.1 
/sbin/swapon /var/swap.1 
0

Чтобы решить эту проблему, вы запустите команду 2.
дд Shailesh @ убунту $/вар/WWW $ Sudo/bin /, если =/DEV/нуль =/вар/swap.1 бс = 1M кол = 1024
Вывод будет выглядеть как это:
1024 +0 запись в 1024 + 0 записей из 1073741824 байт (1,1 ГБ) копируются, 13.1359 с, 81,7 МБ/с

и после этого запуска
Shailesh @ убунт $ Sudo/SBIN/mkswap/вар/свопа ,1
выход будет как:
Настройка пространство для свопинга версии 1, размер = 1048572 KiB нет этикетки, UUID = 486b676c-aa2a-4329-9783-6d1e6a9eb0a5

и последняя команда, которую вы должны запустить
shailesh @ ubuntu $ sudo/sbin/swapon /var/swap.1

Теперь запустите обновление композитора и сэкономьте время.

Смежные вопросы