.bash_profileの設定ミスでnpmコマンドが動かなくなりました
解決済
回答 1
投稿
- 評価
- クリップ 3
- VIEW 536
サーバーの設定などド素人の質問です、よろしくお願いします
トラブルの経緯と現状
cordovaでアプリを作ろうとしていて、
nodejsのインストール(homebrew利用)、iOS・Androidでの
$cordova run ~~ の成功と順調に進んでいたんですが、
.bash_profileに変なパスを設定したことをきっかけにその後は
$cordova run も $cordova build も
$ cordova build android
env: node: No such file or directory
とエラーを返すようになりました
質問
どうにか解決しようとnpmのキャッシュをクリアするなどしたのですが無効でした(以下)
$ npm cache clean
-bash: npm: command not found
他の方法を見ると「npmを再インストール」する方法が見つかりましたが、それに従って
$ sudo rm -rf /usr/local/lib/node_modules
とした場合、上記ディレクトリ以下にある以下のファイルも全部消えてしまうと思います
ls -la /usr/local/lib/node_modules
drwxr-xr-x 3 john admin 96 7 15 06:30 @vue
drwxr-xr-x 8 john admin 256 6 29 2018 bower
drwxr-xr-x 20 john admin 640 7 14 00:10 cordova
drwxr-xr-x 10 john admin 320 6 19 2018 foundation-cli
drwxr-xr-x 16 root admin 512 7 23 15:28 vue-cli
drwxr-xr-x 11 root admin 352 7 23 16:15 webpack-dev-server
その場合、全部再インストールになるのでしょうか?
他の方法はないでしょうか?
環境
MacOS 10.14.5
エラーの原因になった.bash_profileの変更については別に質問させていただきます
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.19%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
CHERRY
2019/07/24 14:50 編集
コマンドの意味も分からずに 検索したコマンドを実行して、状況を悪化させるよりは、 .bash_profile のミスだとわかっているのであれば、 .bash_profile の中身を質問に記載して、どこが間違っているのかを聞いたほうが早いのではないでしょうか?
set0gut1
2019/07/24 14:57
エラーメッセージからして、npmコマンド以外にも、nodeコマンドにPATHが通ってないですね。.bash_profileを修正する他ない気がします。
hentaiman
2019/07/24 14:58
変なパスを設定したのがきっかけと分かっているならそのパスを取り除くだけで済みそう
showkit
2019/07/24 15:12
エディタは使えないのですか?
taaa
2019/07/24 15:15
皆さんありがとうございます
もともと正常に動いていた時、.bash_profileの中身は以下でした
export PATH=$HOME/.nodebrew/current/bin:$PATH
#export PATH=$HOME/.nodebrew/current/bin:$PATH
export ANDROID_HOME=/Users/john/Library/Android/sdk
export ANDROID_SDK_ROOT=/Users/john/Library/Android/sdk
export ANDROID_AVD_HOME=/Users/john/.android/avd
export PATH=/Applications/Android Studio.app/Contents/gradle/gradle-5.1.1/bin
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/Users/john/.sdkman"
[[ -s "/Users/john/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/john/.sdkman/bin/sdkman-init.sh"
これの「export PATH=/Applications/Android Studio.app/Contents/gradle/gradle-5.1.1/bin」の上に妙なパスを書いたせいで $ls などすら動かないようになり、慌てて追記部分を削除したのですがそれでも治らず
現在は
#export PATH=/Applications/Android Studio.app/Contents/gradle/gradle-5.1.1/bin
のように「export PATH=/Applications/Android Studio.app/Contents/gradle/gradle-5.1.1/bin」をコメントアウトして
現在は以下の通りです
export PATH=$HOME/.nodebrew/current/bin:$PATH
#export PATH=$HOME/.nodebrew/current/bin:$PATH
export ANDROID_HOME=/Users/john/Library/Android/sdk
export ANDROID_SDK_ROOT=/Users/john/Library/Android/sdk
export ANDROID_AVD_HOME=/Users/john/.android/avd
#export PATH=/Applications/"Android Studio.app"/Contents/gradle/gradle-5.1.1/bin
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/Users/john/.sdkman"
[[ -s "/Users/john/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/john/.sdkman/bin/sdkman-init.sh"
$ls などは動く、でも $ cordova build androidなどは動かない、という状況です
どこか間違っているでしょうか?
showkit
2019/07/24 15:36
.bash_profile を変更した後に ログインしなおしても 再起動しても同じなのですか?
taaa
2019/07/24 16:14
showkitさん
今再起動したら $cordovaコマンドが動くようになりました
$source ~/.bash_profileやってたんですがなんでだろう
一応解決とさせていただきます、ありがとうございました