ときたの技術ノート

アウトプット!!!近道はない。泥臭く頑張れ。

【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にならず、インストールが行えた!!

参考サイト

Installation | Yarn - Package Manager