簡単そうに見えていつもハマるので、書き記しておきます。今回はmacのMojaveに環境を構築しました。
nvmを利用したnodeのインストール方法
まず、nvmを次のコマンドを実行することでインストールします。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
nvmのサイトでは、wgetを利用する方法も紹介されていますが、macでは別途インストールする必要があるため、今回はあらかじめインストールされているcurlの方法を選択しました。
次のステップは、.bash_profileのようなターミナルが起動するときに読み込む設定ファイルが存在しない場合にのみ、実施する作業となります。
その場合、ホームディレクトリ(/Users/username)に.bash_profileファイルを作成し、次の行を追加します。
export NVM_DIR="${XDG_CONFIG_HOME/:-$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
次にnodeをインストールします。まず、nvm ls-remoteというコマンドを実行し、インストール可能なバージョンのリストを取得します。私の場合、aws lambda向けの開発をすることがあるので、それに合わせてv8.10.0をインストールするようにしました。
次のコマンドを実行することで、インストールすることができます。
# nvm install v8.10.0 # nvm use default v8.10.0
これを実行して、「Now using node v8.10.0 (npm v6.4.1)」と表示されると、正しくインストールされていると思います。
ハマるポイント
新たにターミナルを立ち上げた時、次のようなwarningが出るようになることがあります。
nvm is not compatible with the npm config "prefix" option: currently set to "/Users/xxx/.nvm/versions/node/v8.10.0" Run `nvm use --delete-prefix v8.10.0 --silent` to unset it.
また、nodeを実行しても、command not foundとなってしまいます。
この解決方法を色々と試したのですが、うまくいかなかったことも多かったので、それを紹介したいと思います。
方法1: 再インストール
ここには再インストールする方法が紹介されています。この場合は次のようにコマンドを実行します。
# nvm uninstall v8.10.0 # nvm install v8.10.0
私の環境では、この方法では解決しませんでした。
方法2: .bash_profileの編集
先ほど追記した3行を次のように書き換えることで解決しました。
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion
参考サイト