Що стосується обхідного шляху, використовувати файл JSON, в якому немає ~/.composer/composer.json
, шлях постачальника може бути вказаний в config
/ vendor-dir
, наприклад:
{
"config": {
"vendor-dir": "~/.composer/vendor"
},
"require": {
"drush/drush": "dev-master"
}
}
які повинні встановити drush
в ~/.composer/vendor/drush/drush/drush
, тоді необхідно зробити відповідну зміну до змінної PATH, наприклад,
ex +'$s@$@\rexport PATH=\~/.composer/vendor/bin:$PATH@' -cwq ~/.bashrc
Щоб зробити його глобальним (запустивши як root
), Я вважаю /var/lib/vendor
можна використовувати для vendor-dir
, і або додавати правильний шлях до змінної PATH в одному з глобальних файлів, наприклад /etc/bash.bashrc
або /etc/profile
, альтернативно вказати bin-dir
у файлі JSON, наприклад:
{
"config": {
"vendor-dir": "/var/lib/vendor",
"bin-dir": "/usr/local/bin"
},
"require": {
"drush/drush": "dev-master"
}
}
яка буде встановлена drush
глобально з мінімальним головним болем /usr/local/bin
має бути вже в PATH.
Або якщо ви не хочете жорстко кодувати шлях у файлі JSON (щоб його можна було використовувати спільно між різними службами), існує навіть набагато простіший спосіб, як це запропонував jonathan , наприклад:
Спосіб VM (як кореневий):
COMPOSER_HOME=/var/lib/composer COMPOSER_BIN_DIR=/usr/local/bin COMPOSER_VENDOR_DIR=/var/lib/composer/vendor composer -nqq install --no-interaction --optimize-autoloader
Шлях Травіса КІ:
COMPOSER_BIN_DIR=~/bin composer -nqq install --no-interaction --optimize-autoloader --prefer-source
Замість install
Ви також можете використовувати update
.