How to place the ~/.composer/vendor/bin directory in your PATH?

LaravelBashUbuntuDirectoryPath

Laravel Problem Overview


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.

Laravel Solutions


Solution 1 - Laravel

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).

Solution 2 - Laravel

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

Solution 3 - Laravel

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.

Solution 4 - Laravel

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!

Solution 5 - Laravel

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

Solution 6 - Laravel

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.

Solution 7 - Laravel

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

Solution 8 - Laravel

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

Solution 9 - Laravel

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

Solution 10 - Laravel

In case someone uses ZSH, all steps are the same, except a few things:

  1. Locate file .zshrc
  2. Add the following line at the bottom export PATH=~/.composer/vendor/bin:$PATH
  3. source ~/.zshrc

Then try valet, if asks for password, then everything is ok.

Solution 11 - Laravel

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/

Solution 12 - Laravel

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

Solution 13 - Laravel

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

Solution 14 - Laravel

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.

Solution 15 - Laravel

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!

Solution 16 - Laravel

For Ubuntu 16.04

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

source ~/.bashrc

Solution 17 - 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

Solution 18 - Laravel

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

Solution 19 - Laravel

this is what I added in my .bashrc file and worked.

export PATH="$PATH:/home/myUsername/.composer/vendor/bin"

Solution 20 - Laravel

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

Solution 21 - Laravel

I've tried a lot of solutions, but on Ubuntu 20.04 only this worked for me:

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionwhich1ispinkView Question on Stackoverflow
Solution 1 - LaravelMrTuxView Answer on Stackoverflow
Solution 2 - LaravelAlexander KimView Answer on Stackoverflow
Solution 3 - LaravelVagner LeitteView Answer on Stackoverflow
Solution 4 - LaravelForca001View Answer on Stackoverflow
Solution 5 - Laravelgrit45View Answer on Stackoverflow
Solution 6 - LaravelakbarbinView Answer on Stackoverflow
Solution 7 - LaravelPaul 501View Answer on Stackoverflow
Solution 8 - LaravelDarren MurphyView Answer on Stackoverflow
Solution 9 - LaravelMartijn van der BruggenView Answer on Stackoverflow
Solution 10 - LaravelAlexander KimView Answer on Stackoverflow
Solution 11 - LaravelJignesh JoisarView Answer on Stackoverflow
Solution 12 - LaravelYosephView Answer on Stackoverflow
Solution 13 - Laravelcphelps987View Answer on Stackoverflow
Solution 14 - LaravelJacou MataView Answer on Stackoverflow
Solution 15 - LaravelAndino InyangView Answer on Stackoverflow
Solution 16 - LaravelWaLid LamRaouiView Answer on Stackoverflow
Solution 17 - LaravelAnthony HatzopoulosView Answer on Stackoverflow
Solution 18 - LaravelAdeojo Emmanuel IMMView Answer on Stackoverflow
Solution 19 - LaravelPatrick MutwiriView Answer on Stackoverflow
Solution 20 - LaravelMuhammad HayatView Answer on Stackoverflow
Solution 21 - LaravelWellington LorindoView Answer on Stackoverflow