Macの ~/.nvm/versions とは。古いバージョンは削除できるか
使わなくなったNode.jsのバージョンは削除できますが、nvm で行い、プロジェクトに必要なものは残してください。各バージョンにはグローバルにインストールしたパッケージも含まれており、一緒に削除されます。
場所
~/.nvm/versions/nodeこれは何か
nvm(Node Version Manager)は、Node.jsの各バージョンを ~/.nvm/versions/node の下の専用フォルダにインストールします。nvm use でバージョンを切り替えても、シェルがどのフォルダを指すかが変わるだけです。
各バージョンには、専用のnpmと専用のグローバルパッケージ一式があります。そのバージョンが有効なときに npm install -g でインストールしたものです。これらは、そのバージョンのフォルダの中に保存されます。
大きくなるのは、新しいバージョンをインストールしても古いバージョンが削除されないからです。数年にわたってアップグレードを重ねると、もう誰も使っていないバージョンがMacにいくつも残っていることがあります。
どのくらい大きくなるか
バージョン1つでおよそ百MBから数百MBを使い、グローバルパッケージを多くインストールしているとさらに大きくなります。
手動で消去する方法
- nvm が読み込まれているシェルで、下記のコマンドを実行します。インストールされているすべてのバージョンが一覧表示され、どれが現在のもので、どれがデフォルトかが示されます。
- プロジェクトがどのバージョンを要求しているかを確認します。たとえば、.nvmrc ファイルや package.json の engines フィールドを見ます。
- 不要なバージョンは、nvm uninstall のあとにバージョン番号を付けて実行し、削除します。nvm は現在有効なバージョンを削除しないので、先に別のバージョンに切り替えます。
- 過去のインストールでnvmが保持しているダウンロードを消去するには、nvm cache clear を実行します。
nvm ls削除したあとはどうなるか
削除したバージョンとそのグローバルパッケージはなくなります。nvm install でいつでももう一度インストールできますが、まだ必要なグローバルパッケージはインストールし直す必要があります。
Diskzyでの扱い
Diskzyは、~/.nvm をNode.jsの各バージョンのサイズとともにディスクマップに表示するので、どの古いバージョンを nvm で削除する価値があるかがわかります。
関連ガイド
- npm cache~/.npm/_cacache
- node_modules<project>/node_modules
- pyenv versions~/.pyenv/versions
- Rust toolchains~/.rustup/toolchains
Macの空き領域がどこに消えたのかを確認
Diskzyはディスク全体をマップにし、システムデータの内訳を示し、安全なものを消去します。72時間は無料、その後は$9の買い切りでMac 2台まで使えます。
Diskzyを無料で試す