見出し画像

Node.js のバージョン管理を nodebrew から Volta にした

春だから毎年恒例のオレンジピール作りにいそしんでいた、おばちゃんです。

ひさしぶりに Nuxt.js で新規プロジェクト作ろうとしたら、エラーが出てインストールに失敗しました。どういうこと?

調べてみると、Node.js のバージョンが古いことが原因らしいので、既存のプロジェクトとは別に Node.js の最新 LTS バージョンとを切り替えることにしました。確か、nodebrew で切り替えるのよね?

で、切り替え方を調べていたならば、Mac 使いの方々が、nodebrew ではないバージョン管理ツールを押している・・・もしや2022年は nodebrew ダウントレンド?!

おばちゃんが M1 Macbook Pro を買って(ちょうど一年前の今頃)、Node.js の開発環境を作りつつしていた当時、nodebrew は M1 Mac に対応していなくて、Node.js(stable)をコンパイルうんぬんして入れた覚えがあった。たしかに、nodebrew には面倒くさい印象がある。

うん。いい機会だ。覚悟を決めよう。よし、バージョン管理ツールを変更する!

今回選んだバージョン管理ツールは「Volta」。最近話題になっているようで、1日でも長くご活躍いただけるといいなあという期待を込めて。(現時点で新しいからといって、必ずしも一番長く活躍するかどうかはわからないですが・・・)

まずは、Homebrew でインストールした nodebrew を Homebrew でアンインストール。

brew uninstall nodebrew

ユーザーのHOME内に残ってた nodebrew 関連のファイルを削除。

rm -rf ~/.nodebrew
rm -rf ~/.npm
rm -rf ~/.yarn

ついでにお掃除で

brew cleanup

問題ないかどうか

brew doctor

案の定、警告が出る。

Warning: Your Command Line Tools are too outdated.
Update them from Software Update in System Preferences or run:
  softwareupdate --all --install --force

If that doesn't show you any updates, run:
  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

Alternatively, manually download them from:
  https://developer.apple.com/download/all/.
You should download the Command Line Tools for Xcode 13.2.1.

表記の通りに Xcode を、古いものをアンインストール&新しいものをインストール。

sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
softwareupdate --all --install --force

ここまで来て、ようやく Volta を Curl でインストール。
(Debian の時は wget だったのに、また別の???)

curl https://get.volta.sh | bash

そして、やっと Node.js、yarn をインストール。

volta install node
volta install yarn

既存の Nuxt.js(で作製した)プロジェクトのために古いバージョンの Node.js を追加。

2022.7.15追記「Node.js は偶数がLTSで、奇数は最新版で安定性は保証しない」
・・・だそうです。

↓↓↓ @15を入れたおばちゃんはやらかしていたのか?(小声)

volta install node@15

 のバージョン確認

volta list all
⚡️ User toolchain:

    Node runtimes:
        v15.14.0 (default)
        v16.14.2

    Package managers:
        Yarn:
            v1.22.18 (default)

    Packages:

既存と新規のプロジェクト毎に Node.js を切り替える。
https://docs.volta.sh/guide/understanding

# 既存
volta pin node@15
volta pin yarn@1.22
# 新規
volta pin node@16
volta pin yarn@1.22

この後は地道に Nuxt.js を手動インストールする。

mkdir <project-name>
cd <project-name>
touch package.json

#package.json
{
   "name": "my-app",
   "scripts": {
      "dev": "nuxt",
      "build": "nuxt build",
      "generate": "nuxt generate",
      "start": "nuxt start"
      "volta": {
         "node": "16.14.2",
         "yarn": "1.22.18"
      }
   }
}

yarn add nuxt

無事、新規の Nuxt.js プロジェクトが作れました。(今回もここまで来るのに3日かかった・・・泣)

2022.7.15追記「mac のターミナルで volta uninstall node@15.14.0」できない

rm -rf ~/.volta/tools/image/node/15.14.0/

なんか解決・・・

2022.12.15追記「バージョンアップ」

curl https://get.volta.sh | bash -s -- --skip-setup


WEBデザイナー(自営業)のおばちゃんです。最近はBlenderネタ多めです。