0
0

More than 3 years have passed since last update.

composer require した時に killed になった時の対処

Last updated at Posted at 2021-01-30

phpのパッケージ管理ツール composerでrequireコマンドを実行した時に、killed となってしまったので対処法を残しておきます。
ちなみに環境はlaradockerを使っています。

下記、エラーメッセージです。

docker_workspace
composer require league/flysystem-aws-s3-v3 ~1.0
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed

原因

OSでメモリが不足していたため、自動でプロセスをキルしてしまっていました。

対処法1:composer install で入れる

docker_workspace
cat composer.json | grep "パッケージ名" # パッケージが表示されるか確認、なければ追記

rm composer.lock # パッケージのバージョン管理ファイルを削除

composer install # パッケージの実体をダウンロード

composer show -i | grep "パッケージ名" # パッケージがダウンロードされたか確認

対処法2:仮想マシン、php.iniのメモリを増やす

php.iniのメモリ設定

php -i | grep php.ini # php.iniの場所を確認

sudo vim /etc/php.ini # php.iniを編集

ローカル環境なので無制限に設定しておきます。
あとで元に戻しておきましょう。

php.ini
; memory_limit = 128M
memory_limit = -1

仮想マシンのメモリ設定 for Vagrant

vim Vagrantfile

とりあえず2GBに設定しておきます。

Vagrantfile
  config.vm.provider "virtualbox" do |vb|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
    vb.memory = "2048"
  end

仮想マシンのメモリ設定 for Docker

Docker version 2系の場合はdocker-compose.ymlのコンテナ名下の階層にmem_limitを設定することで増やせるとのこと。
Docker version 3系は公式ガイドに記載されていますがmem_limitが削除されていて使えません。
詳しいところは下記のサイトでわかりやすくまとまっています。
docker-compose におけるメモリ使用量の制限方法

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0