ChatGPT解决这个技术问题 Extra ChatGPT

Laravel PHP Command Not Found

I have installed Laravel using composer without problems, but when I try to execute "laravel" in my terminal I have this typical error:

-bash: laravel: command not found

If I read the documentation of the official site I need to do that:

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.

But I don't know how to do (I'm new on terminal console commands).

Can you help me with that? Thanks!!

What is your PATH variable value?
How can I obtain that? With echo $PATH?
type echo $PATH in Terminal / bash , etc.
/Users/chema/google-cloud-sdk/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/Eclipse/sdk/platform-tools:/Applications/Eclipse/sdk/tools

D
D Malan

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.


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
@NaingLinAung great tip , It won`t work without that tip .. But why if i close the terminal after working , it restop working ??
For anyone coming here, make sure you have laravel installer installed globally also: composer global require "laravel/installer"
R
R T

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" 

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! :)
n
nyedidikeke

When using MacBook, refer to the snippets below;

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

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
g
gilcierweb

Solution on link http://tutsnare.com/laravel-command-not-found-ubuntu-mac/

In 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

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.
G
Gujarat Santana

If you're using Ubuntu 16.04.

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" 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/ 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' Now refresh your bashrc using source ~/.bashrc and then laravel is ready!!

above steps works with me in Ubuntu 16.04


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!
M
MuriloReinert

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


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
c
clemens

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

S
Sophy

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.


S
Shubham A.

If on mac (and think *nix) just run this in your terminal.

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

g
guizo

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


A
Ahmed Magdy

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

Đ
Đorđe Nilović

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

M
MD Ashik

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

M
MD Ashik

1) First, download the Laravel installer using Composer:

composer global require "laravel/installer"

2) Make sure to place the ~/.composer/vendor/bin directory in your PATH so the laravel executable can be located by your system.

  set PATH=%PATH%;%USERPROFILE%\AppData\Roaming\Composer\vendor\bin

  eg: “C:\Users\\AppData\Roaming\Composer\vendor\bin” 

3) Once installed, the simple laravel new command will create a fresh Laravel installation in the directory you specify.

eG:  laravel new blog

M
Maii T

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


I
Ian Pinto

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

composer global require "laravel/installer=~1.1"

S
Suman Sarkar

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


Y
Yeshi

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

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

Now composer commands will work.


a
alex toader

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


D
Dharman

Just use it:

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