Reputation: 1275
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.
Upvotes: 104
Views: 377877
Reputation: 16307
Step 1 : Open Your terminal
Step 2 : Run below command
curl -sS https://getcomposer.org/installer | php
Step 3 : After installation run below command
sudo mv composer.phar /usr/local/bin/
Step 4 : Open bash_profile file create alias follow below steps
vim ~/.bash_profile
Step 5 : Add below line in .bash_profile
file
alias composer="php /usr/local/bin/composer.phar"
Step 6 : Close your terminal and reopen your terminal and run below command
composer
Upvotes: 14
Reputation: 2359
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
Upvotes: 218
Reputation: 65
Works in RHEL 8, php 7.4
sudo mv composer.phar /usr/bin/composer
Upvotes: -1
Reputation: 15716
Open terminal and run the following command,
sudo ln -s /usr/bin/php71 /usr/bin/php
Upvotes: -1
Reputation: 374
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.
Upvotes: -1
Reputation: 2092
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
Upvotes: 46
Reputation: 3873
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
Upvotes: 12
Reputation: 5493
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.
Upvotes: 39
Reputation: 2468
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
Upvotes: 95
Reputation: 70933
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
Upvotes: 58