I tried to install composer in a dockerfile using this code
FROM php:8.0-fpm
WORKDIR /app/php
RUN set update && set add curl && \
curl -sS https://getcomposer.org/installer --version=2.0.2 | PHP
but when I exec the container I find that the composer isn't installed
root#70c:/app/php# composer -v
bash: composer: command not found
What's wrong?, and how can I resolve this?
This will download the composer.phar file in the directory you are, in your case /app/php
If you want to have global access to composer you should move it to /usr/local/bin directory and make it executable.
chmod +x composer.phar
sudo mv composer.phar /usr/local/bin/composer
I was trying to install the Composer on my macOS version: high sierra--> 10.13.4
but after using the command:
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
It created some files and directory but it didn't download the composer.
My terminal displayed following error:
No log handling enabled - using stderr logging
Created directory: /var/db/net-snmp
Created directory: /var/db/net-snmp/mib_indexes`
How can I resolve this problem?
OLD Answer (The Ruby Homebrew installer is now deprecated and has been rewritten in
Bash.):
First install Brew on your MAC:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
NEW Answer:
First install Brew on your MAC:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Then install PHP:
brew update
brew install php
brew install composer
To test installation, run:
$ composer -V
Install Brew in Mac Terminal
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install Composer
brew install composer
Check Composer
composer -V
Install download the composer using the following curl command in the
terminal:
curl -sS https://getcomposer.org/installer | php
After the command, you will have composer.phar file in the current
directory and the composer command is available as:
php composer.phar [composer commnad]
In order to make composer available globally, you have to move the
recently downloaded composer.phar to local user’s bin folder as follow:
go to /usr/local/bin folder . You can click Shift + Command + G to open
the dialog to go to folder.
move the recently downloaded composer.phar in the usr/local/bin folder
create a alias using command alias composer="php
/usr/local/bin/composer.phar"
Now, you can access the composer from the terminal simply using the
composer command. Thats it.
When I try to install composer with:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
It's first telling me acces denied then when I do:
sudo mv composer.phar /usr/local/bin/composer
It will move to that directory. When I try composer in my terminal
all the possible composer commands show up.
But when I for example do:
composer dump-autoload
It's telling me:
Composer could not find a composer.json file in /usr/local/bin To
initialize a project, please create a composer.json file as described
in the https://getcomposer.org/ "Getting Started" section
But my composer.phar is in that directory! What should I do?
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.
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
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
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
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
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.
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
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
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.
Open terminal and run the following command,
sudo ln -s /usr/bin/php71 /usr/bin/php
Works in RHEL 8, php 7.4
sudo mv composer.phar /usr/bin/composer
When I install composer on my mac with:
curl -sS https://getcomposer.org/installer | php
And then try to move it like this:
sudo mv php composer.phar /usr/local/bin/composer
it's telling me:
rename composer.phar to /usr/local/bin/composer: No such file or directory
When I look to my path:
echo $PATH
It's telling me:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Try with below command to install composer globally.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Note: On some versions of OSX the /usr directory does not exist by default. If you receive the error "/usr/local/bin/composer: No such file or directory" then you must create the directory manually before proceeding: sudo mkdir -p /usr/local/bin.
If you are running macOS Sierra Version, there might not be a /usr/local/bin folder so you will have to create it. Follow these steps in the terminal:
Step 1: cd ~
Step 2: sudo mkdir -p /usr/local/bin
Step 3: curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
I had the same error when installing composer to make it global
create the directory is the error no such file or directory by using
sudo mkdir -p /usr/local/bin
now install the composer direct to the bin folder
sudo curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
run composer on the terminal and it should be working