I'm on Ubuntu 14.04 and I've been trying all possible methods to install Laravel to no avail. Error messages everything I try. I'm now trying the first method in the quickstart documentation, that is, via Laravel Installer, but it says to "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." so my question is, how do I do that? This may be a simple question but I'm really frustrated and would appreciate any help.

- 3,018
- 3
- 14
- 24
22 Answers
To put this folder on the PATH environment variable type
export PATH="$PATH:$HOME/.composer/vendor/bin"
This appends the folder to your existing PATH, however, it is only active for your current terminal session.
If you want it to be automatically set, it depends on the shell you are using. For bash, you can append this line to $HOME/.bashrc
using your favorite editor or type the following on the shell
echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
In order to check if it worked, logout and login again or execute
source ~/.bashrc
on the shell.
PS: For other systems where there is no ~/.bashrc
, you can also put this into ~/.bash_profile
PSS: For more recent laravel you need to put $HOME/.config/composer/vendor/bin
on the PATH
.
PSSS: If you want to put this folder on the path also for other shells or on the GUI, you should append the said export
command to ~/.profile
(cf. https://help.ubuntu.com/community/EnvironmentVariables).

- 2,297
- 16
- 29

- 32,350
- 30
- 109
- 146
-
1Works like a charm here, on ubuntu 14.04. You might wanna logout/login and/or open a fresh terminal window if things don't seem to work. – Michiel Aug 09 '15 at 17:14
-
4You should use `$HOME` instead of `~` in the composer path. Not sure about bash, but it is certainly necessary when you're setting it in zsh's `.zshrc`. – phaberest Nov 20 '15 at 00:08
-
45It should be noted that on Ubuntu 16.04 running laravel 5.1, the path is: ~/.config/composer/vendor/bin – waweru Jul 20 '16 at 18:33
-
Alternatively, I needed to edit my ~/.zshrc as I'm using oh-my-zsh with iTerm2. Otherwise... same instructions... cheers! – JoshP Dec 10 '16 at 18:56
-
1I have tried this, no luck! Also I do not have a directory called ./composer/vendor. I only have .composer and in there i have a cache folder.. Been searching for 2 days now. – nclsvh Mar 08 '17 at 09:02
-
absolute champion. thanks mate. waisted 10 min trying to do it. your solution worked like a charm – Izac Mac Aug 15 '17 at 18:45
-
1echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc was missing the .config directory THEN execute source ~/.bashrc – CecilMerrell aka bringrainfire Oct 09 '17 at 04:59
-
1Both .composer/vendor/bin and .config/composer/vendor/bin contain "laravel" for me on Ubuntu 16.04 for what it's worth, so both work. – Ken Dec 18 '17 at 00:15
-
Works on OS X El Capitan. – Christian Bonato Aug 03 '18 at 09:04
-
For Linux Mint 20.2 it was `$HOME:~/.config/composer/vendor/bin:$PATH` – Roman Kozin Jul 28 '21 at 06:56
-
Get the path by composer it self: https://stackoverflow.com/a/69125272/2873481 – Vladimir Vukanac Sep 09 '21 at 22:22
Detailed instructions:
in your ~/.bashrc add these lines:
export PATH="$PATH:~/.composer/vendor/bin"
Then reload:
source ~/.bashrc
Check if its added correctly:
echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/web/bin:~/.composer/vendor/bin

- 32,350
- 30
- 109
- 146

- 17,304
- 23
- 100
- 157
-
Thx! I'm not too familar with unix and this made total sense! (And dollars!) – sunnysidedown916 Mar 27 '15 at 00:54
-
The thing I echo $PATH does not include the composer part.. I have literally added it over 100 times in all the possible ways, rebooted about 5 times an reloaded bashrc.. nothing. Any idea? – nclsvh Mar 08 '17 at 09:06
-
source ~/.bashrc --- I have to do this each time i should laravel. This is the best answer for me – Brainmaniac Jul 12 '17 at 12:51
In Ubuntu 16.04 LTS with composer globally installed, this worked for me.
Edit the .bashrc file in your home directory puting the path to the composer bin folder that is located in /your/home/.config/composer/vendor/bin
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
source ~/.bashrc
If not works, verify the path to the composer bin directory and close and reopen the terminal. Otherwise, try to logoff and login in the Ubuntu.
Also works in ubuntu 18.04. Thanks @chifliiiii for your feedback.

- 861
- 7
- 12
-
1
-
1This works, when you run composer laravel installer, it changes directory to Changed current directory to /home/username/.config/composer ./composer.json has been updated as per the path in this answer – ottz0 Dec 06 '17 at 11:22
-
1
-
3
For setting the PATH on Yosemite (OS X 10.10.5), use the command below:
echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bash_profile
To reload either quit terminal and start up again or use:
source ~/.bash_profile
Helped me, hope it helps someone else out there!

- 413
- 4
- 7
-
2Thank you @forca001 in my `.zshrc` it was not working using `~` and it finally did with `$HOME` – phaberest Nov 20 '15 at 00:05
-
4
-
2This is the only answer that worked for me on my Mac running OSX Mojave. Thanks heaps! – Ryan Coolwebs Dec 10 '18 at 12:38
-
1
I did all of the above and it didn't work for me.
I just copied this into my terminal and it worked for me.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

- 157
- 1
- 2
-
1
-
1This question is about putting some directory on the path and not how to install composer. – MrTux Mar 11 '18 at 10:25
my path didn't have /.composer, just /composer so my path was:-
export PATH="$PATH:$HOME/.config/composer/vendor/bin"
This worked for me on ubuntu 20.04

- 707
- 7
- 14
This is for setting PATH on Mac OS X Version 10.9.5.
I have tried to add $HOME because I use user profile :
echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
When you do not use user profile:
echo 'export PATH="$PATH:~/.composer/vendor/bin"' >> ~/.bashrc
Then reload:
source ~/.bashrc
I hope this help you.

- 4,985
- 1
- 28
- 31
Open the Mac Terminal:
vi ~/.bashrc
If you haven't used vi, it may look a little funny at first, so enter the following code carefully, in order:
i
export PATH="$PATH:$HOME/.composer/vendor/bin"
PRESS ESC
:
w
PRESS ENTER
:
q
PRESS ENTER
Now you should have returned to the normal terminal view.
Check that composer now has the correct path:
cd ~/.composer
echo $PATH
If you see the path including your file directory, (e.g. /Users/JeffStrongman/.composer/vendor/bin), you're good to go.
cd
Then run your installation. I ran into this problem, while configuring my Mac to use Laravel Valet.
Example (optional)
valet install

- 1,076
- 14
- 12
For Linux Mint 18: edit ~/.bashrc and add this line to it at the bottom:
export PATH="$PATH:$HOME/.config/composer/vendor/bin"
then resource .bashrc (type in console):
source ~/.bashrc (or close and reopen the terminal)
test it by typing in the console:
echo $PATH
or type in console:
laravel
The Composer bin directory is set and stored in bin-dir
config variable and can be different depending on your setup. Running the command composer global config bin-dir --absolute
will tell you the absolute path to your global composer bin directory. Using this command you can modify your .bash_profile
to add it to your PATH
exactly how it is configured.
# Add Composer bin-dir to PATH if it is installed.
command -v composer >/dev/null 2>&1 && {
COMPOSER_BIN_DIR=$(composer global config bin-dir --absolute 2> /dev/null)
PATH="$PATH:$COMPOSER_BIN_DIR";
}
export PATH

- 10,437
- 2
- 40
- 57
-
2Nice, can avoid the `/dev/null` redirect using the quiet `-q` flag too. For those using fish the command is `fish_add_path (composer global config bin-dir --absolute -q)`. – Nathan Baulch Jul 13 '22 at 11:31
In case someone uses ZSH, all steps are the same, except a few things:
- Locate file
.zshrc
- Add the following line at the bottom
export PATH=~/.composer/vendor/bin:$PATH
source ~/.zshrc
Then try valet
, if asks for password, then everything is ok.

- 17,304
- 23
- 100
- 157
add environment variable into bashrc
file
For Ubuntu 17.04 and 17.10:
echo 'export PATH="~/.config/composer/vendor/bin"' >> ~/.bashrc
For Ubuntu 18.04
echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
to Check environment variable working or not first reload the bashrc
file
source ~/.bashrc
if not working any method then First Check Where is install Composer to Check Run This Command :
locate composer -l 1
then Copy Output add output into this line and run again command.
echo 'export PATH="OUTPUTHERE/vendor/bin"' >> ~/.bashrc
After Successfully Laravel Command Work Give a Permission To Parent Folder (for example u are using apache server than give permission to apache web listing directory like that)
sudo chown $USER:$USER -R /var/www/html/

- 13,720
- 5
- 57
- 57
For me in Ubuntu 22.04, this works:
export PATH="$PATH:$HOME/.config/composer/vendor/bin"

- 470
- 1
- 3
- 15
Adding export PATH="$PATH:~/.composer/vendor/bin" to ~/.bashrc works in your case because you only need it when you run the terminal.
For the sake of completeness, appending it to PATH in /etc/environment (sudo gedit /etc/environment and adding ~/.composer/vendor/bin in PATH) will also work even if it is called by other programs because it is system-wide environment variable.
https://help.ubuntu.com/community/EnvironmentVariables

- 2,356
- 1
- 13
- 18
MacOS Sierra User:
make sure you delete MAAP and MAAP Pro from Application folder if you have it installed on your computer
be in root directory cd ~
check homebrew (if you have homebrew installed) OR have PHP up to date
brew install php70
export PATH="$PATH:$HOME/.composer/vendor/bin"
echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bash_profile
source ~/.bash_profile
cat .bash_profile
make sure this is showing : export PATH="$PATH:$HOME/.composer/vendor/bin"
laravel
now it should be global

- 21
- 2
AWS Ubuntu 18.04 LTS
Linux ws1 4.15.0-1023-aws #23-Ubuntu SMP Mon Sep 24 16:31:06 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc && source ~/.bashrc
Worked for me.

- 91
- 2
On Fedora:
Some composer bins are not in the .composer directory So you need to locate them using:
locate composer | grep vendor/bin
Then echo the the part into the .bashrc
echo 'export PATH="$PATH:$HOME/{you_composer_vendor_path}"' >> ~/.bashrc
Mine was "/.config/composer/vendor/bin"
Cheers!

- 109
- 1
- 13
For Ubuntu 16.04
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
source ~/.bashrc

- 2,305
- 2
- 15
- 33
I did this and it works on osx:
lunch your terminal
nano ~/.bash_profile
And paste
export PATH=~/.composer/vendor/bin:$PATH
press control + x
press the y key
press the return / enter key

- 2,104
- 1
- 19
- 28
this is what I added in my .bashrc file and worked.
export PATH="$PATH:/home/myUsername/.composer/vendor/bin"

- 1,301
- 1
- 12
- 23
To solve this problem make sure you find the path of composer.phar first
example mine is something like this
alias composer="php /Users/Your-username/composer.phar"
Go to cd Users > Your user > Command ls and see if composer.phar is there if yes then add the above line to your .bash_profile. Make sure you change the username to your own.
Hope this help you out

- 11
- 2
I've tried a lot of solutions, but on Ubuntu 20.04 only this worked for me:
export PATH="$HOME/.composer/vendor/bin:$PATH"

- 2,405
- 19
- 21