前提条件
- Node.jsが入っていること
プロジェクトフォルダがある階層でnode -v
してみた時、きちんとバージョンが表示されればOK
表示されない時は,Node.jsを入れよう。
- macOS Mojave
多分macならコマンドは基本的に同じだと思う。でも私はbashを使っているので、zshの人は少し違うこともあるみたいですが、手持ちの環境で動作確認ができないので公式Readmeを呼んでください。とっても丁寧に書いてあるのでChrome + Google翻訳ツールバーを 使えば楽々読めるはずです。
nvmってなんだ
nvmはすーぐ新しいバージョンが出てしまうNode.jsのバージョン管理をしてくれるもの。
バージョンの切り替えなんかを簡単にしてくれます。
公式Readmeによると、ユーザごとにインストールされて、シェルごとに呼び出される様に設計されているとのこと。
sh、dash、ksh、zsh、bash、特にUNIX、macOS、WindowsWSLで動作するそうです。
※Windowsの方は、そのままだと使えません。Windows上でLinuxを動かせるWindowsWSL上で作業しましょう。
nvmが入っているか確認したい
私のように、過去に自らやったにもかかわらず、入っているか入っていないのか忘れちゃったという人は以下のコマンドで確認ができます。
nvm --version
Gitからnvmをインストール
インストールスクリプトを使用する方法もある様ですが、注意書きが長くて面倒そうだと思ったので、今回はGithubからインストールする方法で行きます。
公式Readmeによれば、どこの階層にいても実行できるとのことなので、ターミナルを開いたらすぐに以下のコマンドを入力。
$ git clone https://github.com/creationix/nvm.git ~/.nvm
もしも、すでにnvmが入っていたらfatal: destination path '所在のパス' already exists and is not an empty directory.
と出力されて、どこに入っているのか教えてくれます。(親切)
先のような出力が出て、nvmが入っているはずなのに、nvm --version
をするとcommand not find
が出力されてnvmのコマンドが使えない場合は、パスが通っていないのでnvmを召喚できない状況です。(インストールした後に以下のパスを通す作業が未完です)
インストール直後にやる作業なので、一時的に使えるようにするのではなく、ターミナルを開いたらいつでも使える状態に整備しましょう。
以下のコマンドを打って、ターミナル立ち上げ時に召喚するリストに登録(一般的にパスを通すという)をします。
ただ、人によってどのファイルに書き込むのかが異なってきます。おそらく私と同じbashを使っている人は.bash_profileなのではないかと思いますが、何を言われているのかワケが分からないよという人は、過去にパスを通すとは何か?をまとめた記事がありますので、こちらを参考にしてみてください。
若干話が長くなりましたが、各々パスを通すファイル(私の場合は.bash_profile)をvimなどで開いて、以下の記述を追加してください。
#
以降はコメントなのであってもなくてもいいです。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
かけたらターミナルのウインドウを一度閉じて開き直すか、面倒な場合は以下のコマンドで適用しましょう。
$ source .bash_profile
特定のバージョンのNode.jsを入れたい
Node.jsの公式ページで確認するなり、以下のコマンドを実行するなりして、入れたいバージョンを確認します。
$ nvm ls-remote
確認できたら、以下のコマンドでインストールしましょう。
$ nvm install 入れたいバージョン番号
以下の様なメッセージが出れば完了です。
Now using node 入れたいバージョン番号 (npm ほにゃらら)
Creating default alias: default -> 入れたいバージョン番号
ターミナルを開いたらデフォで使えるバージョンを変更したい
nvm use バージョン番号
で一時的に使用するバージョン指定をする方法もありますが、いつターミナルを開いても同じバージョンを適用させたいときは以下のコマンドでできます。
$ nvm alias default バージョン番号
一時的に使うバージョンを切り替えたい
$ nvm use バージョン番号