将Composer bin目录添加到PATH后找不到Laravel命令

I ran sudo nano .bashrc and added

export PATH="~/.composer/vendor/bin:$PATH"

I restarted my terminal, ran laravel and received

laravel: command not found

I had run this prior to the above

composer global require laravel/installer

Also tried executing what I added to .bashrc in the terminal directly.

echo $PATH prints

/home/dev/.composer/vendor/bin:~/.composer/vendor/bin:~/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

The directory that Composer uses to store global binaries can be configured, and its default value depends on your operating system. You can see what it's set to by running

composer global config bin-dir --absolute

On your machine that outputs

/home/dev/.config/composer/vendor/bin

so that's what you should add to your PATH:

export PATH="~/.config/composer/vendor/bin:$PATH"

See also:

  • Why is COMPOSER_HOME empty?, which touches on one reason why you might see ~/.composer/ on some machines and ~/.config/composer/ on others.