Help us understand the problem. What is going on with this article?

nodebrewからnodenvに乗り換えた

概要

ずっと使っていたnodebrewをやめて、ディレクトリごとにnodeのバージョンを切り替えられるnodenvに乗り換えました。

nodenv/nodenv

きっかけ

firebaseを使った開発をしてて、フロント側とclound functionsで対応するnodeのバージョンが違う事案が発生しました。

nodebrewだとディレクトリでバージョンを切り替えられなかったので、探した末nodenvにたどり着きました。

導入手順

nodebrewを削除

まずはnodebrewを削除します。

$ brew uninstall nodebrew

あとは ~/.bash_profile に書いてあるPATHを消します。(使用してるSHELLによってPATHの在り処は変わります)

$ vi ~/.bash_profile
# .bash_profile
PATH="~~" # nodebrewのPATH。ここを消す

nodeが消されたか確認します。

$ node -v
# バージョン情報が返ってこなければOK

nodenvをインストール

いろんな envライブラリを管理してる anyenvをインストールして、そこからnodenvをインストールしてきます。

anyenv/anyenv

$ brew install anyenv
$ anyenv init
$ anyenv install nodenv
$ exec $SHELL -l

nodenvがインストールされたか確認します。

$ nodenv -v
nodenv 1.3.0+5.ae0f24a #こんな感じのが返ってきたらOK

nodeをインストール

まずはインストール可能なバージョンの確認を。

$ nodenv install -l 
Available versions:
0.1.14
0.1.15
0.1.16
# 以下略

必要なnodeのバージョンをインストールします。

$ nodenv install 12.7.0
$ nodenv install 10.16.0

グローバル(通常使用する方)を設定。

$ nodenv global 12.7.0
$ node -v
v12.7.0

10系のほうは必要なディレクトリに移動して、以下のように設定します。

$ nodenv local 10.16.0
$ node -v
v10.16.0

あと、自分はyarnを使うのでそれも。

$ npm install -g yarn

インストールした諸々を反映させて

$ exec $SHELL -l

完了!

これでディレクトリごとにnodeバージョンの管理ができるようになりました。

うまく行かなかったらローカルにPATHの消し忘れはないか、反映し忘れはないかなど確認してみましょう。

あとは適宜本家Githubを見てみてくださいませ。

anyenv/anyenv

nodenv/nodenv

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした