[PHP]Composerを実行すると'Could not open input file: composer.phar'エラーが出る時の対処法

カテゴリ: composer

Composerを初めて使った方から、composerコマンドを実行すると下記のエラーが出るとの質問をもらいました。今回は、このエラーが出た時の確認ポイントを説明します。
(LinuxやPHPに対して不慣れな人向けの記事です)

> php composer.phar update
Could not open input file: composer.phar

結論を先に書くと、代わりに下記のコマンドを実行するとうまくいくかもしれません。

php composer.phar update
又は
composer update
又は
./composer update
又は
/usr/local/bin/composer update

それでは、いくつか確認の方法を説明していきます。

composer.pharの保存した場所を確認

ファイルが見つからない場合、作業しているディレクトリが誤っている可能性が高いです。この問題を切り分けるために、まずはcomposer.pharの場所をフルパスでファイルを指定してみてください。

> php /home/username/composer.phar update

上記のコマンドで問題なければ、cdコマンドで現在のディレクトリを移動してからphp composer.pharコマンドを実行します。

> cd /home/username

> pwd
/home/username

> php composer.phar update

ファイルがどこにあるかわからない場合は、下記の2つのコマンドを実行してみると場所が探し出せるかもしれません。

sudo find / -print | grep "composer.phar$"

または

sudo find / -print | grep "composer$"

composer.pharファイル自体が無い場合

composer.pharがない場合は、インストール時に実行したphp composer.phar installの代わりに下記のコマンドを実行すると上手くいくかもしれません。

composer install

composerコマンドをリネームした場合

こちらは、Composerのインストール手順に従って、下記のコマンドを実行した場合のチェック項目です。
下記のコマンドでは、composer.pharのファイル名をcomposerに書き換えているためphp composer.pharではコマンドの実行が行えません。

> curl -sS https://getcomposer.org/installer | php
> mv composer.phar /usr/local/bin/composer

この場合は、試しに下記のコマンドを実行してみてください。

/usr/local/bin/composer update

Permissionに関する権限エラーが出る場合は、chmodコマンドでcomposerに実行権限を与えてください。

chmod 755 /usr/local/bin/composer
/usr/local/bin/composer update

rootユーザではない一般ユーザで作業している場合は、sudoを頭につけて管理者ユーザとして実行する必要があるかもしれません。

sudo chmod 755 /usr/local/bin/composer

これでうまくいく場合は、~/.bashrcあたりに下記の定義を書いておくと、次からはcomposer updateで実行できるようになるので便利です。

alias composer='/usr/local/bin/composer'
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。

PhpStormなど、JetBrainsの他IDEユーザにもおススメ!! 「IntelliJ IDEAハンズオン」