質問: ### 相談 環境 Ubuntu phpのcomposerを下記のサイトを参考にインストールしたのですが,コマンド`composer`で`‘php’: Too many levels of symbolic links`という不具合出ました. 心当たりはあって,まずwindows版のXAMPPをインストールした後に,そのphpのディレクトリのシンボリックを\usr\bin\に入れたこと.それでもLinux側から動かなかったので`apt`でphpをインストールしたことです. ### やってみたこと `which composer`とやると`/usr/local/bin/composer`と出るので,一度Composerを消そうと思い,`sudo rm -f composer`をやってみましたが,再度`which`コマンドをやると場所の表示が出てきました.一応,`rm -fR composer`でも試しましたが変わりません.謎です.わかる人がいたら,理由を教えてください。
回答: まずエラーの内容ですが、シンボリックリンクが自己参照をする形になっていて、無限ループしてしまっているのでしょう。/usr/bin/php が /usr/bin にシンボリックリンクされてしまっているとか。 入れた物をすべて一度削除してやりなおすことです。 また、which で見つけた /usr/local/bin/composer を消すためには、rm -rf /usr/local/bin/composer でなければなりません。which したときのカレントディレクトリが /usr/local/bin でなければ、rm -rf composer で消す対象はカレントディレクトリのものであって、/usr/local/bin のものではないからです。 そして rm に -f オプションを付けると、ファイルがなくてもエラーメッセージが出ません。つまりカレントディレクトリに composer が存在しなくても、エラーとならずに一見正常に動いたように見えるのです。 全体として、Linux の基礎からもう一度やり直すことをお勧めします。