質問: ### 前提・実現したいこと MacOS Sierraで以前まで問題なく使用できていた以下のコマンドが、急に「command not found」と表示されるようになっていまいました。 ・npm ・android ・cordova 普段使用しているコマンドが上記の3つなので、他のコマンドも全て使えなくなっているのかの切り分けはできていません。 上記コマンドを再び使用できるようにしたいのですが、どうすればよいでしょうか。 ### 事象の詳細 ・pwd, cd, lsなどの標準のコマンドは通常通り使用できます。 ・su - 実行後のrootユーザでは、npm、cordovaコマンドが問題なく使用できます。 (Androidコマンドは使用できませんでした。元々AndroidStudioをインストールしたユーザしか実行できないのかもしれませんが。) ・sudoコマンドでは、いずれのコマンドも「command not found」となります。 ・現時点では、.bash_profileは存在しません。(元々合ったのかも不明。作成した記憶はないです。) ・思い当たる原因としては、コマンドが使えなくなる直前に以下のことを行いました。 1. VS Codeに拡張機能のCordoba toolsをインストール 2. Visual Studio for Macの現時点での最新版をインストール ・PATHの内容を出力すると以下のようになっています。 ``` $ echo $PATH "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Mono.framework/Versions/Current/Commands"; ``` コマンドが使えていた時のパスの内容を覚えいていないので比較はできませんが、VS for Macをインストールした際に追加されたと思われるMono.frameworkのパスが追加されたときにこれまであったコマンドのパスが消えてしまったということは可能性として考えられないでしょうか。 ### 発生している問題・エラーメッセージ ``` $ npm -bash: npm: command not found $ cordova -bash: cordova: command not found $ android -bash: android: command not found ``` ### 試したこと ・Node.js最新版の再インストール →現象は変わりませんでした。
回答: 自己解決しました。 .bash_profileの末尾に以下を追加してターミナルを再起動したらコマンドが問題なく使用できるようになりました。 ``` export PATH="$PATH:/bin:/usr/bin:/usr/local/bin" ``` 解決はしましたが、原因が依然として不明なためモヤモヤしてます...