fishでnvmを使う

March 29th 2020

すっかり英語にお熱な最近ですが、たまには開発的な活動もしようとNuxt.jsを触ってみることにしました。その事前の準備として、Node.jsのバージョン管理ツールとしてnvmをインストールしたいと思います。

nvm? nodebrew?

Node.jsのバージョン管理ツールといえばnvmとnodebrewが有名ですが、せっかくなのでどちらがメジャーが見ておきましょう。

<script type="text/javascript" src="https://ssl.gstatic.com/trends_nrtr/2152_RC02/embed_loader.js"></script> <script type="text/javascript"> trends.embed.renderExploreWidget("TIMESERIES", {"comparisonItem":[{"keyword":"nvm","geo":"","time":"today 12-m"},{"keyword":"nodebrew","geo":"","time":"today 12-m"}],"category":0,"property":""}, {"exploreQuery":"q=nvm,nodebrew&date=today 12-m,today 12-m","guestPath":"https://trends.google.co.jp:443/trends/embed/"}); </script>

Google Trendsによると、かなり圧倒的にnvmのが使われているようですね。ということで、安心してnvmと心中しましょう。

環境

  • macOS: 10.15.2
  • MacBook Pro (16-inch, 2019) JISキーボード

セットアップ手順

セットアップ手順を見ていきましょう。とても簡単なので、あっという間に終わります。

nvmのインストール

インストールはGithub公式にある通り。一発コマンドなんで簡単ですね。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

fishでの環境設定

上記Githubにも記載のある通り、nvmはfishを公式にサポートしていません。

Note: nvm does not support Fish either (see #303). Alternatives exist, which are neither supported nor developed by us:

  • bass allows you to use utilities written for Bash in fish shell
  • fast-nvm-fish only works with version numbers (not aliases) but doesn't significantly slow your shell startup
  • plugin-nvm plugin for Oh My Fish, which makes nvm and its completions available in fish shell
  • fnm - fisherman-based version manager for fish
  • fish-nvm - Wrapper around nvm for fish, delays sourcing nvm until it's actually used.

今回は他でも動作報告の多い、 fish-nvm を使っていきたいと思います。

インストールはfishのパッケージマネージャであるfisherを使っていれば、こちらもワンラインコマンドです。

fisher add jorgebucaran/fish-nvm

以上で、セットアップ完了です。

~/workspace $ nvm -v 1118ms  日 3/29 12:53:45 2020 nvm version 1.0.1 ~/workspace $ nvm use latest 日 3/29 12:54:27 2020 fetching https://nodejs.org/dist/v13.12.0/node-v13.12.0-darwin-x64 ####################################################################################################################################################################################################################################################### 100.0% ~/workspace $ nvm use lts 3584ms 日 3/29 12:55:03 2020 fetching https://nodejs.org/dist/v12.16.1/node-v12.16.1-darwin-x64

上記の通りnvmのコマンド群の動作確認もできました。おわり。