😊
好きなバージョンのNode.jsでターミナルを起動したい(fish shell + nvm)
記事を書いたきっかけ
最近pnpmを利用するようになって、pnpm dev
とターミナルを新しく立ち上げた時に実行するとNode.jsがv18以上じゃないと使えません!といったニュアンスのエラーに毎回遭遇します。
MacOSのNode.jsのデフォルトがv16で止まっているからですね。(更新できたりするのかな)
特定のNode.jsのバージョンでターミナルを起動したい!
普段nvmを利用しているので、当然nvm側でデフォルトのバージョンをv18以上にして、このエラーを回避したいと思い立ちました。
調べると、nvm alias
コマンドでできそうです。
しかし、私はfish shellを利用しているので、fish.nvmというプラグインを利用しています。
このプラグインでは nvm alias default 20.10.0
のようなaliasコマンドが使えません。(nvm, version 2.2.13)
そのため、デフォルトバージョンの指定をサブコマンドで実現することができませんでした。
nvm -h
Usage: nvm install <version> Download and activate the specified Node version
nvm install Install the version specified in the nearest .nvmrc file
nvm use <version> Activate the specified Node version in the current shell
nvm use Activate the version specified in the nearest .nvmrc file
nvm list List installed Node versions
nvm list-remote List available Node versions to install
nvm list-remote <regex> List Node versions matching a given regex pattern
nvm current Print the currently-active Node version
nvm uninstall <version> Uninstall the specified Node version
Options:
-s, --silent Suppress standard output
-v, --version Print the version of nvm
-h, --help Print this help message
Variables:
nvm_arch Override architecture, e.g. x64-musl
nvm_mirror Use a mirror for downloading Node binaries
nvm_default_version Set the default version for new shells
nvm_default_packages Install a list of packages every time a Node version is installed
Examples:
nvm install latest Install the latest version of Node
nvm use 14.15.1 Use Node version 14.15.1
nvm use system Activate the system's Node version
軽く調べた結果、これに落ち着きました 🫠
config.fish
# デフォルトのNode.jsバージョンを設定
nvm use 20.10.0
config.fish に nvm use 20.10.0
と書く!以上!
bass コマンドとかでaliasとかがうまく使えるようになったら改善するかも。。
Discussion