ChatGPT解决这个技术问题 Extra ChatGPT

Composer: Command Not Found

From within the directory holding my composer.phar file, I can't execute any composer commands.

I can see Composer is running when I execute

php composer.phar 

But any direct composer statements fail.

Not sure if it matters but Composer was included within a cloned repository.

I just want to install a single Oauth library, then likely not touch Composer again for several months, so I don't need to run it globally. I'm just confused why I can't run Composer from within this directory.

Windows, Mac, or Linux machine?
What is a 'direct composer statement'?
php composer.phar require foo/bar
We need more information to be any help here. Do you have an error message? What command are you trying to run that's failing?
an example statement would be "composer -v". I get a Command Not Found error. I'm on a Mac

m
miken32

This problem arises when you have composer installed locally. To make it globally executable,run the below command in terminal

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

This worked perfectly for composer 1.3.1 on OSX 10.10, thankyou
"-- sudo mv composer.phar /usr/local/bin/composer" or "sudo mv composer.phar /usr/local/bin/composer" it helps if you actually use a code block
For me, the command has worked after opening a new console (to take effect)
Thanks, worked. Do you know, that in 12 years since I am doing stuff on unix/debian it NEVER happened that one of the commands I found worked in the first place? there is ALWAYS an error, and I always have to GOOGLE and fix it..bla.bla..
B
BSB

I am using CentOS and had same problem.

I changed /usr/local/bin/composer to /usr/bin/composer and it worked.

Run below command :

curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/bin/composer

Verify Composer is installed or not

composer --version


This was what fixed my issue on Amazon AWS CentOS
This fixed my problem sudo mv composer.phar /usr/bin/composer
This worked for me, thanks @bsb
Your system path is set up incorrectly if it doesn't include /usr/local/bin/
S
Sven

Your composer.phar command lacks the flag for executable, or it is not inside the path.

The first problem can be fixed with chmod +x composer.phar, the second by calling it as ./composer.phar -v.

You have to prefix executables that are not in the path with an explicit reference to the current path in Unix, in order to avoid going into a directory that has an executable file with an innocent name that looks like a regular command, but is not. Just think of a cat in the current directory that does not list files, but deletes them.

The alternative, and better, fix for the second problem would be to put the composer.phar file into a location that is mentioned in the path


Prefixing a reference to the current directory worked, ./composer.phar -v. Thanks for the answer, thank you also for the explaination!
N
Nishant Shah

This is for mac or ubuntu user, try this on terminal

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

or mac brew can try

brew install composer

N
Nitin Nain

MacOS: composer is available on brew now (Tested on Php7+):

brew install composer

Install instructions on the Composer Docs page are quite to the point otherwise.


N
Nanhe Kumar

Step 1 : Open Your terminal

Step 2 : Run bellow command

          curl -sS https://getcomposer.org/installer | php

Step 3 : After installation run bellow command

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

Step 4 : Open bash_profile file create alias follow bellow steps

           vim ~/.bash_profile

Step 5 : Add bellow line in bash_profile file

          alias composer="php /usr/local/bin/composer.phar"

Step 6 : Close your terminal and reopen your terminal and run bellow command composer


on run this command sudo mv composer.phar /usr/local/bin/ get bolow issue sudo: /etc/sudo.conf is world writable sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
A
Ankur Kedia

First I did alias setup on bash / zsh profile.

alias composer="php /usr/local/bin/composer.phar"

Then I moved composer.phar to /usr/local/bin/

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

Then made composer executable by running

sudo chmod +x composer

K
Krunal Akbari

https://getcomposer.org/download/ it might help

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php

this code for ubuntu and wsl2.


C
Codemaker

Open terminal and run the following command,

sudo ln -s /usr/bin/php71 /usr/bin/php

R
Rajath Kamal

Works in RHEL 8, php 7.4

sudo mv composer.phar /usr/bin/composer