Merge pull request #931 from shama/faq-installers
Add FAQ on how to install to a custom directorypull/934/head
commit
f2934ce58f
|
@ -0,0 +1,47 @@
|
||||||
|
# How do I install a package in a custom directory?
|
||||||
|
|
||||||
|
Composer can be configured to install packages to a folder other than the
|
||||||
|
default `vendor` folder. An simple way is to use
|
||||||
|
[composer/installers](https://github.com/composer/installers) and if you're
|
||||||
|
using a framework, chances are a custom directory has been already configured
|
||||||
|
for you.
|
||||||
|
|
||||||
|
If you're a **package author** and want your package installed to a custom
|
||||||
|
directory, simply require `composer/installers` and set the appropriate `type`.
|
||||||
|
This is common if your package is intended for a specific framework such as
|
||||||
|
CakePHP, Drupal or WordPress. Here is an example composer.json file for a
|
||||||
|
WordPress theme:
|
||||||
|
|
||||||
|
``` json
|
||||||
|
{
|
||||||
|
"name": "you/themename",
|
||||||
|
"type": "wordpress-theme",
|
||||||
|
"require": {
|
||||||
|
"composer/installers": "*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Now when your theme is installed with Composer it will be placed into
|
||||||
|
`wp-content/themes/themename/` folder. Check the
|
||||||
|
[current supported types](https://github.com/composer/installers#current-supported-types)
|
||||||
|
for your package.
|
||||||
|
|
||||||
|
As a **package consumer** you can set or override the install path for each
|
||||||
|
package with the `installer-paths` extra. A useful example would be for a
|
||||||
|
Drupal multisite setup where the package should be installed into your sites
|
||||||
|
subdirectory. Here we are overriding the install path for a module that uses
|
||||||
|
composer/installers:
|
||||||
|
|
||||||
|
``` json
|
||||||
|
{
|
||||||
|
"extra": {
|
||||||
|
"installer-paths": {
|
||||||
|
"sites/example.com/modules/{$name}": ["vendor/package"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Now the package would be installed to your folder location, rather than the default
|
||||||
|
composer/installers determined location.
|
Loading…
Reference in New Issue