PHPのcomposerは、一般的にはソースコードのルートディレクトリ、プロジェクトのルートディレクトリがホームになります。
(composer.jsonを置く。)
でもcomposerにはもうひとつ、globalというOSユーザーごとにルートディレクトリが用意されています。そこの場所がややこしい。
composerは一般的に、ソースコードのプロジェクトごとに設定するので、プロジェクトのホームがcomposerのホームにもなります。
composerでインストールするPHPのパッケージなどはアプリごとにちがいますからね?
一方、OSユーザーごとに用意されているcomposerはあまり使いませんが、テスト用や開発用パッケージなど、OS環境全体で共通のものを利用したいときに使います。
(OS環境全体と言ってもOSはユーザーごとに権限があるのでユーザーごとになる。)
あまり使うことが想定されてないからか、そのホームの場所がややこしい。
showサブコマンドで確認
まずは、どのディレクトリがホームなのか確認しましょう。composerのshowサブコマンドを使います。
composer global show
Changed current directory to /home/***/.config/composer
squizlabs/php_codesniffer 3.6.0 PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defi...
globalオプションを忘れないようにしてください。これがないと一般的なプロジェクトのホームが表示されます。
Unix Linux MacOS | /home/(use_name)/.config/composer |
Windows | Changed current directory to C:/Users/(user_name)/AppData/Roaming/Composer |
globalのホームは隠しファイル
globalのホームはOSユーザーのホームに作られるんですが、隠しファイルなので通常は見えません。
Windows以外では、ファイル・ディレクトリ名の先頭にドット(.)が付くと隠しファイルになる。
Windowsのユーザーホーム直下にあるAppDataは隠しフォルダ。
Windowsでは、エクスプローラーの設定で隠しファイルを表示するようにします。
(メニューの『表示』で隠しファイルにチェックを付ける。)
Windows以外では、lsコマンドに -a オプションを付けましょう。