'Yarn global install: "adonis: command not found"

Installed Adonis with yarn on Ubuntu 18 (running on WSL2 VM):

pomatti@NT-03024:~/Projects/myApp$ yarn global add @adonisjs/cli
yarn global v1.19.1
[1/4] Resolving packages...
[2/4] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "@adonisjs/[email protected]" with binaries:
      - adonis
Done in 3.29s.

However when I try to run it, the command is not found:

pomatti@NT-03024:~/Projects/myApp$ adonis
adonis: command not found

What is odd is that my package.json commands are working properly and my app is started, but I am not able to call adonis directly in the command line (the global installation).

For example, yarn migration && adonis serve --dev --debug works.

"scripts": {
    "serve": "adonis serve",
    "migration": "adonis migration:run",
    "start": "yarn migration && yarn serve",
    "dev": "yarn migration && adonis serve --dev --debug",
    "lint": "yarn eslint"
  },


Solution 1:[1]

Try to install with NPM. Command:

> npm i -g @adonisjs/cli

Official documentation

Solution 2:[2]

For CLI tools installed with yarn global to work, you need to have the global yarn bin directory in your PATH. By default the yarn bin dir should be ~/.yarn/bin. To double check if that's right on your system and the adonis executable exists (assuming you've already run yarn global add @adonisjs/cli):

ls ~/.yarn/bin/adonis

(Mine is there).

To add that to my PATH:

cat > ~/.bashrc.d/yarn <<EOF
PATH="$HOME/.yarn/bin:\$PATH"
EOF
chmod +x ~/.bashrc.d/yarn
. ~/.bashrc.d/yarn

Then double check PATH: echo $PATH. Here's mine (after the above - your may not have all of these paths, but so long as it has /home/user/.yarn/bin - where user is your username):

/home/user/.yarn/bin:/home/user/bin:/home/user/.local/bin:/usr/lib/git-core:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 crbast
Solution 2 Jeremy Davis