252

I installed Laravel using Composer without problems, but when I try to run laravel in the terminal, I get the following error:

-bash: laravel: command not found

The docs say that I need to do the following:

Make sure to place the ~/.composer/vendor/bin directory in your PATH so the laravel executable is found when you run the laravel command in your terminal.

How can I do that?

6
  • What is your PATH variable value? Commented Oct 15, 2014 at 7:11
  • How can I obtain that? With echo $PATH? Commented Oct 15, 2014 at 7:12
  • 1
    type echo $PATH in Terminal / bash , etc. Commented Oct 15, 2014 at 7:14
  • /Users/chema/google-cloud-sdk/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/Eclipse/sdk/platform-tools:/Applications/Eclipse/sdk/tools Commented Oct 15, 2014 at 7:15
  • 2
    Possible duplicate of Laravel installation: How to place the ~/.composer/vendor/bin directory in your PATH? Commented Feb 12, 2018 at 14:27

19 Answers 19

396

Ok, I did that and it works:

nano ~/.bash_profile 

And paste

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

do source ~/.bash_profile and enjoy ;)

Important: If you want to know the difference between bash_profile and bashrc please check this link

Note: For Ubuntu 16.04 running laravel 5.1, the path is: ~/.config/composer/vendor/bin

On other platforms: To check where your Composer global directory is, run composer global about. Add /vendor/bin to the directory that gets listed after "Changed current directory to ..." to get the path you should add to your PATH.

Sign up to request clarification or add additional context in comments.

12 Comments

restart the terminal doesn't work in my case. I need to source ~/.bash_profile as well
this is not the correct answer >> .bashrc file (not .bash_profile).
Thank you, this worked for me. I didn't have any .bashrc file and I do not want to create one with dependency to .bask_profile
For anyone coming here, make sure you have laravel installer installed globally also: composer global require "laravel/installer"
for me it was export PATH=$HOME/.config/composer/vendor/bin:$PATH
|
276

Add the following to .bashrc file (not .bash_profile).

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

at the end of the file and then in terminal run source ~/.bashrc

To verify that:

echo $PATH

(Restart the terminal, Check & Confirm the path is there)

Run the laravel command!

Note: For Ubuntu 16 and above use below:

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

9 Comments

You can find more information about the differences between these hidden files: joshstaiger.org/archives/2005/07/bash_profile_vs.html
late reply. hope it helps someone. check this apple.stackexchange.com/questions/42537/…. if you use .bahrc you need to reload every time. so add that in .bash_profile
I had to add ~/.config to the path.. depends on where the binary is
It might be the '/root/.config/composer/vendor/bin' for linux distros
export PATH="~/.config/composer/vendor/bin:$PATH" - the life saver on Ubuntu 18.04! :)
|
112

When using MacBook, refer to the snippets below;

For fish:

echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >>  ~/.fishrc
source ~/.fishrc

For zsh:

echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >>  ~/.zshrc
source ~/.zshrc

For Bash:

echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

4 Comments

This overwrites your current zsh config. Do >> instead of >.
Unable o login to my system after running above command .Please help me.
For my Ubuntu server it was export PATH=~/.config/composer/vendor/bin:$PATH
even after that i still get the same error, any idea on what to do? i have installed laravel as shown here: snipboard.io/BpvM8s.jpg and added the PATH as shown here: snipboard.io/7zy6qJ.jpg
95

Solution in link. In the terminal:

# download installer
composer global require "laravel/installer=~1.1"
#setting up path
export PATH="~/.composer/vendor/bin:$PATH" 
# check laravel command
laravel 

# download installer
composer global require "laravel/installer=~1.1"

nano ~/.bashrc

#add

alias laravel='~/.composer/vendor/bin/laravel'

source ~/.bashrc

laravel

# going to html dir to create project there
cd /var/www/html/
# install project in blog dir.
laravel new blog

6 Comments

Thanks, I was missing the alias on my virtual machine, adding the folder to the PATH didn't help for some reason.
you can use composer global require "laravel/installer" too
In Homestead I needed to set the laravel alias folder to this one instead /home/vagrant/.config/composer/vendor /bin/laravel
Ubuntu 16.04. I also added the alias at ~/.bashrc alias laravel='~/.config/composer/vendor/bin/laravel'
This works for me. Exporting the path to ~/.profile does not do it. That step with ~/.bashrc is necessary.
|
46

Type on terminal:

 composer global require "laravel/installer"

When composer finish, type:

vi ~/.bashrc

Paste and save:

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

Type on terminal:

source ~/.bashrc

Open another terminal window and type: laravel

5 Comments

this one not working for me. But this worked : export PATH="$PATH:$HOME/.composer/vendor/bin"
Looks like some composer versions use .config and other .composer. This was the answer that worked for me, without needed to add an alias or anything. Thanks!
Cheers!! This finally worked! for easy placement echo 'export PATH="~/.config/composer/vendor/bin:$PATH"' >> ~/.bashrc load it with source ~/.bashrc
For Windows User : First step is enough if you installed composer as default
Just this worked for Laravel 10 on Arch linux. Thank you so much.
41

If you're using Ubuntu 16.04.

  1. You need to find the composer config files in my case is :
    ~/.config/composer or in other cases ~/.composer/
    you can see the dir after this command
    composer global require "laravel/installer"

  2. after Laravel Installed you can find your laravel in ~/.config/composer/vendor/laravel/installer/.
    and you will find the Laravel shortcut command in here :
    ~/.config/composer/vendor/bin/

  3. set your .bashrc using nano ~/.bashrc and export your composer config file :

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

    or you can use allias. but above solution is recommended.

    alias laravel='~/.config/composer/vendor/laravel/installer/laravel'

  4. Now refresh your bashrc using source ~/.bashrc and then laravel is ready!!

above steps works with me in Ubuntu 16.04

6 Comments

Why is it I need to type in source ~./bashrc everytime I want to use laravel new etc??
@Paul501 source ~/.bashrc is used to refresh the new setup in the file. So you can't have the new setup running in the current user session if you don't use source
for more info you can read it here : stackoverflow.com/questions/2518127/…
alias laravel='~/.config/composer/vendor/laravel/installer/laravel' did the trick for me!
This solution still works on Ubuntu 20.04
|
23

For zsh and bash:

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

source ~/.zshrc
source ~/.bashrc

For bash only:

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

source ~/.bashrc

Comments

18

For Developers use zsh Add the following to .zshrc file

vi ~/.zshrc or nano ~/.zshrc

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

at the end of the file.

zsh doesn't know ~ so instead it by use $HOME.

source ~/.zshrc

Done! try command laravel you will see.

1 Comment

Mentioning about zsh doesn't know ~. Saved my day!
14

If you are on macOS or *nix just run this in your terminal:

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

Comments

13

If you are coming here 2021 this has worked for me also using Ubuntu 16.04

nano ~/.bash_profile 
export PATH=$HOME/.config/composer/vendor/bin:$PATH
ctrl+x and save 
source ~/.bash_profile

1 Comment

This help me in 2024. Please follow this method
8

For those using Linux with Zsh:

1 - Add this line to your .zshrc file

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

2 - Run

source ~/.zshrc
  • Linux path to composer folder is different from Mac
  • Use $HOME instead of ~ inside the path with Zsh
  • The .zshrc file is hidden in the Home folder
  • export PATH= exports the path in quotes so that the Laravel executable can be located by your system
  • The :$PATH is to avoid overriding what was already in the system path

Comments

4

For MAC users:

1. Open terminal

cd ~

2. Double check the $PATH

echo $PATH

3. Edit file

nano ~/.bash_profile

4. PASTE

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

Don't forget to put quotation marks.

5. control + X (y + enter to save the file and exit)

Now start vagrant, go to your folder and try:

laravel new yourprojectname

Comments

4

I set the PATH,but it didn't work.I find other way to solve it. (OSX 10.10 & laravel 5.2)
1) find the executable file:

~/.composer/vendor/laravel/installer/laravel 

2) give execute permissions:

chmod +x ~/.composer/vendor/laravel/installer/laravel 

3) make a soft link to /usr/bin:

sudo ln -s /Users/zhao/.composer/vendor/laravel/installer/laravel /usr/bin/laravel

Comments

3

type on terminal:

nano ~/.bash_profile 

then paste:

export PATH="/Users/yourusername/.composer/vendor/bin:$PATH"

then save (press ctrl+c, press Y, press enter)

now you are ready to use "laravel" on your terminal

Comments

1

If you have Composer installed globally, you can install the Laravel installer tool using command below:

composer global require "laravel/installer=~1.1"

Comments

0

Late answer...

Composer 1.10.1 2020-03-13 20:34:27 laravel --version Laravel Installer 3.0.1

Put export PATH=$PATH:~/.config/composer/vendor/bin:$PATH in your ~/.zshrc or ~/.bashrc source ~/.zshrc or ~/.bashrc This works

Comments

0

Composer should be installed globally: Run this in your terminal:

    mv composer.phar /usr/local/bin/composer

Now composer commands will work.

Comments

0

My quick way of creating a new project

//install composer locally on web root - run the code from: https://getcomposer.org/download/

Then install laravel:

php composer.phar require laravel/installer

Then create the project without adding anything to any path

vendor/laravel/installer/bin/laravel new [ProjectName]

//add project to git

cd ProjectName
git init
git remote add origin git@...[youGitPathToProject]

Wondering if this way of doing it has any issues - please let me know

Comments

-3

Just use it:

composer create-project --prefer-dist laravel/laravel youprojectname

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.