🐋

composer global require laravel/installerしたのにlaravel: not found

に公開

環境: Docker イメージはcomposer:latest
Digest: sha256:68e926a477000f12e8645e82a020b84904d49071c895c4951551fe80eed5d103

/var/www/html # composer global require laravel/installer
Changed current directory to /tmp
./composer.json has been created
Running composer update laravel/installer 以下略
/var/www/html # laravel new .
/bin/sh: laravel: not found

なんでやねん

pathを探す

composer global config bin-dir --absolute

pathを通す

export PATH="$PATH:/tmp/vendor/bin"

なぜtmpなんかに入ったのか?

グローバルホームディレクトリの確認

/var/www/html # composer config -g home
/tmp

それはそう

修正方法

export COMPOSER_HOME="$HOME/.config/composer"

pathを通した後でグローバルホームディレクトリを更新する意味は多分無い。害はありそう。
やるならDockerfileに書いちゃった方がよさそう


おまけメモ
DockerイメージのDigest取り方

docker inspect composer:latest
GitHubで編集を提案

Discussion