나는 이것을 해결할 수 없다.
Linode 1G RAM 기본 계획을 세우고 있습니다. Composer를 통해 패키지를 설치하려고하는데 나에게 도움이되지 않습니다. PHP.ini에서 메모리 제한이 “-1″로 설정되었습니다.
이것을 설치하기 위해 할 수있는 다른 일이 있습니까?
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing thujohn/rss (dev-master df80a7d)
Downloading: 100%
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:975
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 975, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(975): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(853): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(818): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(752): 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 975
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:975
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 975, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(975): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(853): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(818): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(752): 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 975
답변
조금 오래되었지만 새로운 누군가가 해결책을 찾고 있다면 PHP 버전을 업데이트하면 문제를 해결할 수 있습니다.
또한 composer.lock 파일을 커밋하고 리소스를 덜 사용하는 프로덕션 환경에서 composer 설치를 수행해야합니다.
자세한 내용은 여기 :
https://github.com/composer/composer/issues/1898#issuecomment-23453850
답변
스왑 메모리가 부족한 것 같습니다.
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
답변
작곡가 문제 해결 가이드는 여기
에 VPS에 메모리가 부족하고 스왑 공간이 활성화되어 있지 않기 때문에 발생할 수 있습니다.
free -m
스왑을 활성화하려면 예를 들어 다음을 사용할 수 있습니다.
sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo /sbin/swapon /var/swap.1
또는 위의 방법으로 작동하지 않으면 스왑 파일을 만들 수 있습니다
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
답변
나는 같은 문제에 직면했다. 메모리가 적은 AWS 프리 마이크로 인스턴스를 사용하고 있습니다. 나는 항상 아래 옵션 중 하나를 시도하고 항상 작동합니다 (이 모든 것이기 전에 최신 버전의 작곡가가 설치되어 있는지 확인하십시오)
sudo php -dmemory_limit=750M composer.phar update
또는 공급 업체 폴더의 내용을 제거하고 composer 업데이트를 시도하십시오.
sudo rm -rf vendor
sudo php -dmemory_limit=750M composer.phar update --no-scripts --prefer-dist
sudo php artisan --dump-autoload
두 번째 옵션은 모든 구성 요소를 업데이트하려고 시도합니다. 업데이트가 없으면 캐시에서 패키지를 선택하고 그렇지 않으면 dist에서 선택합니다
참고 : 메모리 제한은 원하는대로 변경하십시오.
또는
크리에이트 스왑 파티션을 시도. 스왑 파티션은 리눅스가 실제 메모리가 부족할 때 가상 메모리로 사용하는 하드 드라이브의 일부입니다. 실제 파일을 사용하는 대신 Windows 스왑 파일과 비슷하지만 Linux는 하드 드라이브의 파티션을 대신 사용합니다.
도움이 되었기를 바랍니다
답변
다음 명령을 입력하십시오.
rm -rf vendor/
rm -rf composer.lock
php composer install --prefer-dist
메모리 부족 시스템에서 작동
답변
문제를 해결하는 단계는 다음과 같습니다. (즉시 빠른 SWAP 파일 할당 방법 사용)
서버 SWAP 설정 (메모리 부족 오류를 해결하기위한 Ubuntu 16.04 SWAP)
스왑, 메모리 및 디스크 크기가 이미 있는지 확인하십시오.
sudo swapon -s
free -m
df -h
스왑 파일 만들기 : (4GB SWAP 메모리를 원하는 경우 1G를 4G로 변경)
sudo fallocate -l 1G /swapfile
스왑 파일을 확인하십시오.
ls -lh /swapfile
스왑 파일 할당 :
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
스왑 가능, 메모리 및 디스크 크기를 확인하십시오.
sudo swapon -s
free -m
df -h
시스템 재시작시 스왑 파일 첨부 :
sudo nano /etc/fstab
/swapfile none swap sw 0 0
스왑 파일 설정 조정 :
cat /proc/sys/vm/swappiness
cat /proc/sys/vm/vfs_cache_pressure
sudo sysctl vm.swappiness=10
sudo sysctl vm.vfs_cache_pressure=50
sudo nano /etc/sysctl.conf
SWAP 파일 우선 순위 : (0-100 % => 0 : 스왑하지 않고, 100 : SWAP를 넣고 RAM을 비 웁니다)
vm.swappiness=10
캐시에서 아이 노드 제거 : (100 : 캐시에서 아이 노드 정보를 너무 빨리 제거합니다)
vm.vfs_cache_pressure = 50
답변
나는 방랑자와 같은 문제가 있었다. 더 많은 메모리를 할당하여 수정했습니다.
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "1024"]
end