Running composer in a different directory than current

PhpComposer Php

Php Problem Overview


I don't know if this question has been asked, because searching finds results mostly about moving the libraries installation directory.

I have a globally installed composer command. Is there a way to run, for example, composer install in a different directory than current, i.e. to specify the directory in which I would like tu run the command?

E.g. being in /home/someuser, I would like to acquire the same result as in running composer install it inside /home/someuser/myproject. Of course, one way would be to simply change the current directory, run composer and go back.

Php Solutions


Solution 1 - Php

Try composer install -h. There you'll find an option --working-dir (or -d). And that's what you're looking for.

Then run:

composer install --working-dir=/home/someuser/myproject

You can find more in composer docs.


Depending on your operating system, the = might need to be removed:

composer install --working-dir /home/someuser/myproject

Solution 2 - Php

In addition to the above answer from Tomáš Votruba i had to append the = charachter on OSX. So the full command would be:

composer install -d=/home/someuser/myproject

My first post on SO so was unable to simply add this as a comment.

Solution 3 - Php

This works for me, PHP 7.3 on ubuntu 18.04

Install

> composer install --working-dir=/your_composer_dir

Update

> composer update --working-dir=/your_composer_dir

Solution 4 - Php

Run:

cd /home/mysites/google.com

Then run:

composer require facebook/graph-sdk

Above steps will open up the directory named (google.com) and install facebook Graph SDK there.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPrzemekView Question on Stackoverflow
Solution 1 - PhpTomas VotrubaView Answer on Stackoverflow
Solution 2 - PhpEric MulderView Answer on Stackoverflow
Solution 3 - PhpM_R_KView Answer on Stackoverflow
Solution 4 - PhphenllyView Answer on Stackoverflow