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ネタ多めです。