Rails Diary

プログラミングの学習記録です。

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

nodenvの環境構築 - Qiita

nodenvでNode.jsのバージョンを切り替える

node.jsのバージョンを変更する - Qiita

以下bundlerについて調べた時のリンクメモ

Bundlerの使い方 - Qiita

bundle install と bundle updateの違いについて - Qiita