[英]Composer Fails to Install and Update
幾周前我在服務器上做過同樣的事情,但是現在我做不到。 這是我的錯誤輸出:
作曲家安裝
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`
我曾經遇到這個問題,增加內存限制解決了它。 您可以嘗試一下。
將composer.lock添加到跟蹤的文件即可解決此問題。
git add -f composer.lock
git add .
git commit -m 'remove composer.lock from ignored files'
git push
接着,
git clone ....
在服務器上。
問題解決了。
不管怎么說,還是要謝謝你。
如果您在虛擬環境(例如,vagrant)下運行,請確保啟用交換。 在腳本下運行以創建交換
#!/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/
要解決此問題,請增加交換內存:
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
我在更新命令下遇到了相同的問題,解決了我的問題。
sudo作曲家自我更新
//這將設置內存。 php -dmemory_limit = -1作曲家更新
要么
sudo php -dmemory_limit = -1作曲家更新
在更新具有較大依賴項的symfony項目時也遇到了類似的問題。 創建交換文件有幫助: https : //www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-12-04
要解決此問題,您可以運行2命令。
shailesh @ ubuntu $ / var / www $ sudo / bin / dd if = / dev / zero of = / var / swap.1 bs = 1M count = 1024
輸出將如下所示:
1024 + 0條記錄中的1024 + 0條記錄輸出1073741824字節(1.1 GB)已復制,13.1359 s,81.7 MB / s
在那之后
shailesh @ ubuntu $ sudo / sbin / mkswap /var/swap.1
輸出將像:
設置交換空間版本1,大小= 1048572 KiB無標簽,UUID = 486b676c-aa2a-4329-9783-6d1e6a9eb0a5
最后的命令,你必須運行
shailesh @ ubuntu $ sudo / sbin / swapon /var/swap.1
現在運行作曲家更新並節省時間。
這對我php -dmemory_limit=1GB $(which composer) update
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.