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

以下のコマンドで、利用しているNode.jsのバージョンをndenvに認識させます。

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

ndenv 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

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

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

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

コメントを残す

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

CAPTCHA


関連投稿

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

トップに戻る