node.jsのあれこれ
期待するバージョンにならない問題
インストールしているnodeのバージョン確認
% nodenv versions system * 12.14.0 ←このバージョンにしたい
バージョン指定
# グローバルで使う場合 nodenv global {指定したいバージョン} # 特定のディレクトリのみで使う場合 nodenv local {指定したいバージョン}
バージョン確認
% node -v v16.3.0
課題で指定されている12.14.0にしたいが、期待しているバージョンにならない☹︎
試したこと
参照元の確認
% which node /Users/ユーザー名/.nvm/versions/node/v16.3.0/bin/node
以前、node.jsをnvmという管理ツールでインストールしていたため、参照元が.nvmになっていることが分かった。
nvmのアンインストール
参照元をnodenvに変更するため、nvmを削除する
①削除ディレクトリの確認
間違えて別のディレクトリを削除しないように確認する。
% echo $NVM_DIR /Users/ユーザー名/.nvm
②ディレクトリの削除
% rm -rf $NVM_DIR
③再度バージョンを確認してみる
% node -v v17.2.0
???🤔 今度は想定外のバージョンになってしまった。。
再度参照元の確認してみる
% which node /opt/homebrew/bin/node
homebrewを参照している??
パスの確認
% cat ~/.zshrc
export PATH="/opt/homebrew/bin:$PATH" eval"$(rbenv init -)" eval"$(rbenv init-)" eval "$(rbenv init -)" export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" export PATH="/opt/homebrew/opt/mysql@5.7/bin:$PATH" 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
nobenvのパスをまだ通していない。 他のパスを消すべきか分からずにとりあえず残すことに。
nobenvでパスを通してみる
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(nodenv init -)"' >> ~/.zshrc
シェルを再起動する
exec $SHELL -l
コマンドが正しくインストールされているか確認
% nodenv --version nodenv 1.4.0
nodeのバージョン確認
% node -v v12.14.0
期待したバージョンに変わった!
感想
相変わらず環境構築で詰まるけども、時間をかけて調べれば何となく分かるようになってきた。「パスを通す」のも良く分からずにやっていたが、何となく分かったのかな?
参考サイト
nodenvを入れてもnodeのバージョンが変わらない時に確認したこと - Qiita
nvm(Node Version Manager)のアンインストール(削除) | WEBREE