OSX -bash: composer: command not found
-
21-12-2019 - |
Question
If i type "composer" i get the above error message.
I did on my macbook:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
to install Composer globally.
I had to manually create the /local/bin/composer directory, maybe this caused the error ?
php composer.phar
works if i in my code directory where the .phar file is.
What could i do to solve the problem and run composer globally ?
My ~/.profile
export PS1="\W: "
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
~: echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/bin
~:
Solution
The path /usr/local/bin/composer
is not in your PATH, executables in that folder won't be found.
Delete the folder /usr/local/bin/composer
, then run
$ mv composer.phar /usr/local/bin/composer
This moves composer.phar
into /usr/local/bin/
and renames it into composer
(which is still an executable, not a folder).
Then just use it like:
$ composer ...
OTHER TIPS
Well I tried a lot of things but none seemed to be working. But the following process did it right, I can now use composer
command in terminal. I'm in mac OS 10.12.1
$ curl -sS https://getcomposer.org/installer | php
$ chmod +x composer.phar
$ mv composer.phar /usr/local/bin/composer
$ composer
I get into the same issue even after moving the composer.phar
to '/usr/local/bin/composer' using the following command in amazon linux.
mv composer.phar /usr/local/bin/composer
I used the following command to create a alias for the composer file. So now its running globally.
alias composer='/usr/local/bin/composer'
I don't know whether this will work in OS-X. But when i search with this issue i get this link. So I'm just posting here. Hope this will help someone.
Tested on Mac OSX after installing via instructions on composer website:
sudo mv composer.phar /usr/local/bin/composer
This works on Ubuntu;
alias composer='/usr/local/bin/composer/composer.phar'
Globally install Composer on OS X 10.11 El Capitan
This command will NOT work in OS X 10.11:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
Instead, let's write to the /usr/local/bin path for the user:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Now we can access the composer command globally, just like before.
On Mac OS X, for anyone having:
-bash: /usr/local/bin/composer: Permission denied
problem, while trying to move downloaded composer.phar
using:
mv composer.phar /usr/local/bin/composer
this is the cause:
System Integrity Protection
and this is the solution:
- Reboot in recovery mode: restart you mac and hold down cmd+R.
- Open the terminal once recovery mode has started via Utilities>Terminal via the bar at the top.
- Type in
csrutil disable
and hit enter. You should see a msg returned saying that:the System Integrity Protection is off.
- Restart the computer as normal and then go set up composer. I had to put it in
/usr/bin
and NOT/usr/local/bin
because for some reason it just didn't work there. - Go back to recovery mode and enable System Integrity Protector by typing
csrutil enable
- Come back in normal boot up and check that composer works. It did for me.
The above 6 steps are copied from here, so all the credit belongs to the user Vasheer there.
this wasted me a day or two. like why dont anybody say on tutorials that the command composer is not to be used without actually linking and stuff... I mean everyone is writing composer command like its the next step when we are not all 5 years experienced users to know these details.
cp composer.phar /usr/local/bin/composer
did it for me on ubuntu after getting stuck for 2 days