【M1 Mac】yarnがインストールできない問題の対処法
環境
macOS : 13.4
チップ. :Apple N1 Pro
node :v20.4.0
npm :9.7.2
目的
yarnをインストールして、パッケージなどのインストールをしたい。 yarnコマンドを使えるようにしたい。
事象
yarnのグローバルインストールは正常に終了しているようにみえるが、yarnコマンドが使えない。
事象詳細
まずはyarnを導入すべく、ターミナルにコマンドを打ち込む。
% npm install -g yarn changed 1 package in 1s npm notice npm notice New minor version of npm available! 9.5.1 -> 9.8.0 npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.8.0 npm notice Run npm install -g npm@9.8.0 to update! npm notice
お次にyarnのバージョン確認をしようとするも....
% yarn -v zsh: command not found: yarn
あれ、パスが通っていない.....???
解決方法
今回、パスが通っていないことが原因かと思い、調査をしたがパスの設定の問題ではなさそうだった。 直接的な原因の追求ができなかったが、yarnの公式ドキュメントで推奨されている方法でインストール自体はできたので、対処方法としてここにメモしておく。
ちなみにドキュメントによると、CorePackを使用することが推奨されている。 バージョンは、16.10以降が対象とのこと。
Yarn を管理する推奨される方法は、16.10 以降のすべての Node.js リリースに同梱される新しいバイナリであるCorepack を使用することです。これはユーザーと Yarn の間の仲介者として機能し、Yarn バイナリをチェックインすることなく、複数のプロジェクト間で異なるパッケージ マネージャー バージョンを使用できるようにします。
1. nvmがインストールされているかを確認する。
$ nvm -v 0.39.3
※nvmとは
Node Version Managerの略。ノードのバージョン管理ツールのこと。
複数のNode.jsのバージョンを管理し、必要に応じてバージョンの切り替えを行うことができる。
2. nodeのバージョン一覧を表示
(※16.10 以降のバージョンがインストールされていれば特に不要)
nvm ls-remote
インストール可能なNode.jsのバージョン一覧を表示するコマンド。
今回は、yarnのインストールのために、Corepackが使用可能な16.10 以降のバージョンをインストールする必要があるため、最新のバージョン、 v.20.4.0をインストールする。
3. nodeのインストール
nvm install v20.4.0
4. nodeのバージョン確認
% node -v v20.4.0
先ほどインストールしたものが反映されていることを確認。 これでCorePackを使えるバージョンがインストールされていることが確認できた。
5. CorePackの有効化
ただし、CorePackはデフォルトではオプトイン(有効化されていない)状態のため、以下のコマンドで有効可能にする。
% corepack enable
6.グローバルyarnVersionの更新を行う
% corepack prepare yarn@stable --activate Preparing yarn@stable for immediate activation...
7. プロジェクトの初期化を行う
% yarn init -2 { name: 'xxxxxxx', packageManager: 'yarn@3.6.1' }
これでok。
8. yarnのバージョン確認
% yarn -v 3.6.1
not foundにならず、インストールが行えた!!