プログラミング学習者です。これまでRubyとRuby on Railsを学習していて、これからJavaScriptの学習を始めるために行いました。
次の機会に、またいちからやり直しになりそうだったので、作業記録を残します。
環境
- macOS Monterey12.6、 プロセッサはintel。
- Homebrewはインストール済み。
インストールの流れ
- Homebrewを使って、Node.jsのバージョン管理ツールをインストール。ここではnvmを使用。
- nvmを使って、Node.jsをインストール
- 確認
- .nvmrc ファイルに関すること(必須ではない。)
語句
- HomebrewはMacのパッケージマネージャ
- nvmは、Node.jsのバージョン管理ツール。バージョン管理ツールは他にもある。
- Node.jsは
Node.jsは、サーバーサイドでJavaScriptを使うためのプラットフォーム
(【入門】Node.jsとは?利用シーンやメリットなどをわかりやすく解説 - カゴヤのサーバー研究室より)
実際の作業手順
1) Homebrewでnvmをインストール
$ brew install nvm
上のコマンドでインストールされると、ターミナルに以下が出力されます。
```shell-session
Please note that upstream has asked us to make explicit managing
nvm via Homebrew is unsupported by them and you should check any
problems against the standard nvm install method prior to reporting.
You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
Add the following to ~/.zshrc or your desired shell
configuration file:
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
You can set $NVM_DIR to any location, but leaving it unchanged from
/usr/local/opt/nvm will destroy any nvm-installed Node installations
upon upgrade/reinstall.
Type `nvm help` for further information.
==> Summary
🍺 /usr/local/Cellar/nvm/0.39.1_1: 9 files, 184.2KB
==> Running `brew cleanup nvm`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
表示された内容に沿って必要な設定を行います。
nvm用のディレクリトリ作成。
$ mkdir ~/.nvm
vim ~/.zshrc
で、zshrcファイルへ以下を追記。
# nvmの設定
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
確認するには、ターミナルを再起動してnvm --version
、
バージョンが表示されればO.K。
2) nvmを使って、Node.jsをインストール
Node.jsのLTSバージョンをインストール。
❯ nvm install --lts
Installing latest LTS version.
Downloading and installing node v16.17.0...
Downloading https://nodejs.org/dist/v16.17.0/node-v16.17.0-darwin-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v16.17.0 (npm v8.15.0)
Creating default alias: default -> lts/* (-> v16.17.0)
3) 確認
こうなっていれば、大丈夫そう。(バージョンの数字以外で)
❯ node -v
v16.17.0
~
❯ nvm ls
-> v16.17.0
system
default -> lts/* (-> v16.17.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.17.0) (default)
stable -> 16.17 (-> v16.17.0) (default)
lts/* -> lts/gallium (-> v16.17.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.20.0 (-> N/A)
lts/gallium -> v16.17.0
4) .nvmrc ファイルに関すること(必須ではない。)
.nvmrc ファイルがある場合は、自動で読み込まれるように設定。
.nvmrc ファイルとは?
プロジェクトのルート ディレクトリ (または任意の親ディレクトリ) に、ノードのバージョン番号を含むファイルを作成することで、コマンド ラインでバージョンが指定されていない場合はnvm use
, nvm install
, nvm exec
, nvm run
やnvm which
を行う際、.nvmrc ファイルで指定されたバージョンが使用される。
.nvmrc ファイルを自動的に読み込むための設定、zsh の場合
.zshrcファイルを編集。
vim ~/.zshrc
以下を追記しておく。
# .nvmrc ファイルを自動的に読み込むための設定
autoload -U add-zsh-hook
load-nvmrc() {
local node_version="$(nvm version)"
local nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$node_version" ]; then
nvm use
fi
elif [ "$node_version" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
参考リンク
ありがとうございます!!🙏