yarn global add で、インストール成功したのに、実行しようとしたら「そんなコマンドはない!」って怒られたときの対処方法です。
症状
$ yarn global add n
yarn global v1.21.1
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "n@6.2.0" with binaries:
- n
Done in 0.35s.
$ n
n: command not found
調査
インストールパッケージ一覧
$ yarn global list --depth=0
yarn global v1.21.1
info "n@6.2.0" has binaries:
- n
Done in 0.10s.
インストールされている!
binの場所
$ yarn global bin
/home/seya/.yarn/bin
PATHの確認
$ echo $PATH
/home/seya/.vscode-server/bin/c47d83b293181d9be64f27ff093689e8e7aed054/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Program Files/Docker/Docker/Resources/bin:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files (x86)/Nodist/bin:/mnt/c/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/bin:/mnt/c/Program Files/PuTTY/:/mnt/c/Users/seya.DORASU/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/seya.DORASU/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Users/seya.DORASU/AppData/Local/Programs/Microsoft VS Code Insiders/bin:/mnt/c/Program Files/heroku/bin:/mnt/c/Program Files (x86)/sox-14.4.2:/mnt/c/Program Files:/snap/bin
(WSL上で実行しているので、Windowsのパスがいっぱい!)
/home/seya/.yarn/bin
はPATHにない!!!!
対処方法
yarn global add でインストーるされる場所に、PATHが通っていあないので、コマンドが無いと怒られていたらしい。
対処方法としては2つ
- PATHを追加
- yarnでインストールされる場所を変更する
今回は、すでにnコマンドをインストールしているので、PATHを追加する方法を試してみます。
PATHを追加
~/.bashrc
に、以下の行を追加します。
export PATH="$HOME/.yarn/bin:$PATH"
bashを再度立ち上げて、確認。
$ echo $PATH
/home/seya/.yarn/bin:/home/seya/.vscode-server/bin/c47d83b293181d9be64f27ff093689e8e7aed054/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Program Files/Docker/Docker/Resources/bin:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files (x86)/Nodist/bin:/mnt/c/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/bin:/mnt/c/Program Files/PuTTY/:/mnt/c/Users/seya.DORASU/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/seya.DORASU/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Users/seya.DORASU/AppData/Local/Programs/Microsoft VS Code Insiders/bin:/mnt/c/Program Files/heroku/bin:/mnt/c/Program Files (x86)/sox-14.4.2:/mnt/c/Program Files:/snap/bin
/home/seya/.yarn/bin
が最初に追加されています。
確認
コマンドの場所確認
$ which n
/home/seya/.yarn/bin/n
ちゃんとパスが通っているようです。
コマンド実行
$ n --lts
12.16.1
実行できました!!!