はじめに
今までnodebrewを使いNode.jsのバージョンを管理してきましたが、バージョンを切り替える際パッケージマネージャーとの依存性でエラーを度々起こし煩わしく感じたので、最近よく聞くVoltaに移行してみようと思いメモ
【実行環境】
macOS Big sur 11.6
概要
今まで使ってたnodebrew、yarn、npmを削除し、
新たにvoltaをインストールし、node.jsを使う
削除する
今まで使っていたnodebrew、yarn、npmを下記で削除していく
//homebrewでインストールしていたものを削除
brew uninstall nodebrew yarn
//削除できたか下記で確認
brew ls
これで準備OK!と思いつつwhichコマンドでもパス確認したらuserディレクトリのローカル環境に初めた頃の名残かまだいたのでこちらも削除しました。。。
//パス確認したらまだいました・・・
which nodebrew
→/Users/user/.nodebrew/current/bin/nodebrew
which npm
→/Users/user/.nodebrew/current/bin/npm
//下記で削除対応
rm -rf ~/.nodebrew
rm -rf ~/.npm
再度パス確認したら「nodebrew(npm) not found」と返ってきたのでこれで削除の方は完了!
※「node-gyp」「.yarnrc」などnode関連がuserディレクトリにあったので合わせて一度削除してます
あとはキャッシュ関連の下記も削除しました
※先にcacheコマンドでそれぞれ削除しておくと○
rm -rf /users/user/Library/Caches/Yarn/
rm -rf /users/user/Library/Caches/node/
rm -rf /users/user/Library/Caches/node-gyp/
Voltaをインストールする
削除が完了したので、Voltaをインストールしていきます。
Voltaを選んだ理由としてこちらの記事を参考にさせていただき現状で自分の環境では利点が多かったので採用しました。インストール方法も参考にさせていただきました
また、記事を参照した結果今回はhomebrewを使わずvoltaを下記でインストールしていきます
//インストール
curl https://get.volta.sh | bash
//ターミナル再起動後に確認してみる
volta -v
→1.0.6
which node
→/Users/user/.volta/bin/node
which yarn
→/Users/user/.volta/bin/yarn
which npm
→/Users/user/.volta/bin/npm
インストールバージョンが表示され無事にvoltaのインストールが完了しました
また、voltaからnode、npm、yarnのパスが通っていることも確認できました
voltaでnodeをインストール
下記のコマンドでvoltaからnodeをインストール
//LTS版インストール時
volta install node
//指定バージョンのインストール時(15系の場合)
volta install node@15
//指定のバージョンが無事インストールされたか確認
node -v
バージョンが表示されたらnodeのインストール完了です
Node.jsにデフォルトでnpmもインストールされるのでそのままnpmも使える
別途任意バージョンのnpm及びyarnを使う場合は下記でインストール
//インストール
volta install yarn
volta install npm
voltaでインストール済みのnode.jsやパッケージマネージャーを確認
volta list all
すると下記のような一覧になってインストールしたnode、yarn、npmが確認ができます。
以上でvoltaからのnodeインストールは完了です
⚡️ User toolchain:
Node runtimes:
v16.14.2 (default)
Package managers:
npm:
v8.6.0 (default)
Yarn:
v1.22.18 (default)
Packages:
volta pinコマンドでバージョンを固定し共有
今回voltaを使いたいと思った理由の一つです。
プロジェクト毎にvolta pinを使いpackage.jsonファイルを更新し、
バージョンを固定します
プロジェクトのディレクトリ内で下記を入力
※ここではprojectとします
volta pin node@12
volta pin yarn
するとpackage.jsonに下記が追加されます
"volta": {
"node": "10.24.1",
"yarn": "1.22.18"
}
これでvoltaがインストールされている他のPC環境で
yarn install
すれば指定されたバージョンをインストールしてくれる
補足
指定のNode.jsバージョン及びパッケージマネージャーのアンインストールは「volta uninstall node」コマンドでは上手くいかなかったが、下記で各種アンインストールできました
rm -rf /Users/user/.volta/tools/image/node/{削除するバージョン}
「/Users/user/.volta/tools/image/」の階層にそれぞれあるらしい
参考
その他、Volta設定で色々参考にさせていただいた記事