Homebrew をアップデートしたら ndenv の node が使えなくなった
投稿日:2017年06月24日
久々に Homebrewをアップデートしたら ndenv の node が使えなくなったのでメモ。
ndenv が使えなくなったというよりは Homebrew でインストールした node が優先されるようになりました。
※brew からインストールした yarn の依存関係を解消するのに brew で node をインストールしたら $PATH が変わったのか、読み込み元が変わったのかも。
Homebrew のアップデート
下記の流れでHomebrewをアップデートします。
# パッケージ(formula)リストの更新
$ brew update
# 更新があるパッケージ(formula)を再ビルド
$ brew upgrade
# インストール時にダウンロードしたzipファイルを消去
$ brew cleanup
# Homebrewに問題がないかチェック
$ brew doctor
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
ndenv
プロジェクトで使用する node の version を確認。
$ ndenv versions
system
6.9.1
v4.4.5
* v6.10.2 (set by /Users/username/dirName/.node-version)
v6.9.5
1
2
3
4
5
6
2
3
4
5
6
node
改めて node
のバージョンを確認。
$ node -v
v8.1.0
1
2
2
おかしい、なんで v6.10.2 にならないんだ。
which で node コマンドを探します。
$ which node
/usr/local/bin/node
1
2
2
ndenv の node が使われていない…。
ndenv (anyenv)
のを使って欲しいのに…。
下記で brew で インストールされている内容を確認します。
$ brew ls
or
$ brew list
1
2
3
2
3
node が確認できたので、 brew の方の node をアンインストールします。
homebrew で入れた node をアンインストールする
$ brew uninstall --ignore-dependencies node
1
node が使えるか確認
$ node -v
-bash: /usr/local/bin/node: No such file or directory
1
2
2
$PATHが通っていないっぽいです。
下記コマンドでシェルを再起動して $PATH を ndenv
の方に通します。
$ exec $SHELL -l
1
再び、コマンドで node のバージョンを確認します。
$ node -v
v6.10.2
1
2
2
無事に node が期待通りのバージョンになりました。