ndenv yarn 実行できない エラー yarn command not found

ndenvでNode.jsのバージョンを管理している環境にて、

Node.jsのバージョン切り替えをした際に、yarnが実行できないエラーが発生するので、

対処方法をメモしたいと思います。

ndenv yarn error

 

エラー内容

Node.jsのバージョンを変えた時などに、

yarnコマンドを実行しようとすると、以下のメッセージが表示されて、yarnを実行できません。

ndenv: yarn: command not found

The `yarn' command exists in these Node versions:
X.X.X

直訳:yarn コマンドが存在しません。yarnコマンドは、以下のバージョンのNodeに存在します。

 


対処方法1

案内されたNode.jsに切り替えて、yarnを利用する。

Node.jsのバージョンにこだわりが無い場合、

素直に、使用するNode.jsのバージョンを変更してyarnを実行します。

ndenv yarn error

ndenvであれば、以下などでバージョンを指定します。

・全体的にNode.jsのバージョンを指定

ndevn global バージョン番号

・カレントプロジェクトのみにNode.jsのバージョンを指定

ndenv local バージョン番号

 

しかし、Node.jsのバージョンを複数管理している場合、

明確な意図が有ってバージョンを指定しており、

目的のバージョンでないと困る事が多いと思います。

その場合、こちらの対応方法は選択できません。

 


対処方法2

ndenvを利用している場合は、以下のコマンドで、

利用しているNode.jsのバージョンをndenvに認識させます。

基本的には、こちらで解消されると思います。

nodenv rehash

しかし、こちらを利用しても問題が解消されない場合は、

以下のコマンドなどで、ndenvが認識しているyarnのデータを消すと解消されます。

rm -rf /Users/ユーザーディレクトリ/.ndenv/shims/yarn

ndenv yarn error

尚、yarnを実行した際に、.ndenv/shims/yarnに新しい認識情報が保存され、

再度、異なるバージョンのNode.jsに変更した際に、同じ問題が発生します。

どうしてもNode.jsのバージョンを変更しても、同じ現象を発生させたくない場合、

npm経由でインストールしたyarnを利用するのではなく、

別のツール(Homebrewなど)でインストールして管理するyarnを利用する必要があります。

※利用するyarn以外は、ローカルに存在しない状態を保つ必要があります。

 


 

今回のメモは以上となります。

Node.jsを管理するツールには、Ndenv以外にも、NodeBrewやnvmが存在します。

試していませんが、対策されていなければ、

他のツールでも同様の現象が発生するかもしれません。

尚、ndenvは現在非推奨となっており、

新しいnodenvを利用する事が推奨されています。

https://github.com/riywo/ndenv

nodeの管理ツールは、移ろいやすいイメージですので、

何を使えば良いか迷うところですが、

なるべく開発が継続されているツールを利用したいところです。

 

都内でエンジニアをやっています。 2017年に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。
投稿を作成しました 143

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る