Що стосується обхідного шляху, використовувати файл 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.