2
Help us understand the problem. What are the problem?

posted at

updated at

備忘録)nodebrewからVoltaに移行する【MAC】

はじめに

今まで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とします

project
volta pin node@12
volta pin yarn

するとpackage.jsonに下記が追加されます

package.json
  "volta": {
    "node": "10.24.1",
    "yarn": "1.22.18"
  }

これでvoltaがインストールされている他のPC環境で

project
yarn install

すれば指定されたバージョンをインストールしてくれる

補足

指定のNode.jsバージョン及びパッケージマネージャーのアンインストールは「volta uninstall node」コマンドでは上手くいかなかったが、下記で各種アンインストールできました

ターミナル
rm -rf /Users/user/.volta/tools/image/node/{削除するバージョン}
「/Users/user/.volta/tools/image/」の階層にそれぞれあるらしい

参考

その他、Volta設定で色々参考にさせていただいた記事

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
2
Help us understand the problem. What are the problem?