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
~:
This question is related to
macos
composer-php
If you have to run composer with sudo, you should change the directory of composer to
/usr/bin
this was tested on Centos8.
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.
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
Composer is avialble and install the packages in the global path but they are not available in the shell, Mac in my case. I managed to fix this by adding the global bin to the path at my bash file.
Steps:
First, check what is your home directory by typing in the shell:
cd ~
pwd
this will tell you the home path
The next step is to verify that composer set the global directory there:
ls -al .composer
If you got list of files that's mean composer set up the directory, if not - look above or in the documentation.
The next step is to edit the bash profile. Mine is ~/.bash_profile but other can ~/.zshrc. If you don't have any one like this try to see how to set up aliases and place the the code in aliases file:
PATH="YOUR_HOME_PATH/.composer/vendor/bin:${PATH}"
export PATH
That's it! just reload the file with
source PATH_TO_FILE
And you good to go!
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.
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
Tested on Mac OSX after installing via instructions on composer website:
sudo mv composer.phar /usr/local/bin/composer
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:
csrutil disable
and hit enter. You should see a msg returned saying that:
the System Integrity Protection is off.
/usr/bin
and NOT /usr/local/bin
because for some reason it just didn't work there.csrutil enable
The above 6 steps are copied from here, so all the credit belongs to the user Vasheer there.
This works on Ubuntu;
alias composer='/usr/local/bin/composer/composer.phar'
Source: Stackoverflow.com