質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Cordova

Cordovaは様々なデバイスで使うことができるオープンソースなモバイル用開発プラットフォームです。開発者に各デバイスの元のプラットフォームで開発する必要をなくし、HTML・JavaScript・CSSなどの一般的なウェブのテクノロジーを使ってすべてのデバイスで展開することができるモバイルのアプリケーションを生成することを可能にします。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

2回答

14488閲覧

急にMacのnpmコマンドが「command not found」と表示されました

tamogi

総合スコア72

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Cordova

Cordovaは様々なデバイスで使うことができるオープンソースなモバイル用開発プラットフォームです。開発者に各デバイスの元のプラットフォームで開発する必要をなくし、HTML・JavaScript・CSSなどの一般的なウェブのテクノロジーを使ってすべてのデバイスで展開することができるモバイルのアプリケーションを生成することを可能にします。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2017/02/26 12:09

###前提・実現したいこと
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最新版の再インストール
→現象は変わりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

直接の原因は、PATHの値が壊れていることです。

Bash

1$ echo $PATH 2"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Mono.framework/Versions/Current/Commands";

というのは、おかしいです。

Bash

1$ echo $PATH 2/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Mono.framework/Versions/Current/Commands

と表示されれば正常。引用符とセミコロンが余計です。

さらにその原因は、ソフトのインストール方法を間違ったとかでしょうか。

投稿2017/02/26 16:47

otn

総合スコア84487

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tamogi

2017/02/27 12:06

回答ありがとうございます。 やはり、環境が壊れていたんですね・・・。 初歩的な質問で申し訳ないですが、上記のおかしいパスはどこで設定するのでしょうか。 .bash_profileの中身は以下のようになっていて、上にあるようなパスは見当たりませんでした・・・。 ``` export ANDROID_HOME=/Users/yanchi/Library/Android/sdk export JAVA_HOME=`/usr/libexec/java_home -v 1.8` export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-toolseval $(/usr/libexec/path_helper -s) export PATH="$PATH:/bin:/usr/bin:/usr/local/bin" ```
otn

2017/02/27 13:29

path_helper の出力ですかね。 /usr/libexec/path_helper -s を実行すると何が表示されますか?
tamogi

2017/02/27 13:59

以下のように表示されます。 $ /usr/libexec/path_helper -s PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:"/usr/local/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands";"; export PATH; #コメント欄ってmarkdown使えないんですね・・・。
otn

2017/02/27 14:12

おかしい原因はこれですね。さらにその原因は、/etc/paths.d/ の下のどこかの定義が間違っているのでしょう。 これ以上は分かりません。
tamogi

2017/02/27 14:33

回答ありがとうございました。 あとは自分で調べてみます。
guest

0

自己解決しました。
.bash_profileの末尾に以下を追加してターミナルを再起動したらコマンドが問題なく使用できるようになりました。

export PATH="$PATH:/bin:/usr/bin:/usr/local/bin"

解決はしましたが、原因が依然として不明なためモヤモヤしてます...

投稿2017/02/26 15:17

tamogi

総合スコア72

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問