Raspberry Pi上のLaravelプロジェクトにcomposerでlaravel-corsを入れようとすると、次のようなエラーが出ました。
$ composer require fruitcake/laravel-cors
Using version ^1.0 for fruitcake/laravel-cors
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing fruitcake/laravel-cors (v1.0.5):
Installation failed, reverting ./composer.json to its original content.
The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details
PHP Warning: proc_open(): fork failed - Cannot allocate memory in phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 952
Warning: proc_open(): fork failed - Cannot allocate memory in phar:///usr/local/bin/composer/vendor/symfony/console/Application.php on line 952
[ErrorException]
proc_open(): fork failed - Cannot allocate memory
解決方法
使ってなさそうなサービスなどをstopしてメモリを解放すれば解決すると思ったのですが、だめでした。swapを増やしてみると解決しました。
スワップの増やし方
$sudo vi /etc/dphys-swapfile
// CONF_SWAPSIZEを変更する
CONF_SWAPSIZE=1024
$sudo systemctl restart dphys-swapfile
再度、composerを実行すると正常にlaravel-corsがプロジェクトに追加されました。
$ composer require fruitcake/laravel-cors
Using version ^1.0 for fruitcake/laravel-cors
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing fruitcake/laravel-cors (v1.0.5): Loading from cache
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: barryvdh/laravel-cors
Discovered Package: beyondcode/laravel-dump-server
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.