Wenn Sie eine JSON-Datei verwenden möchten, die sich nicht in diesem Bereich befindet ~/.composer/composer.json
, können Sie den Herstellerpfad in config
/ angebenvendor-dir
, z. B .:
{ "config": { "vendor-dir": "~/.composer/vendor" }, "require": { "drush/drush": "dev-master" } }
welche installieren sollten drush
in ~/.composer/vendor/drush/drush/drush
, dann entsprechende Änderung PATH - Variable muss getan werden, zB
ex +'$s@$@\rexport PATH=\~/.composer/vendor/bin:$PATH@' -cwq ~/.bashrc
Um es global zu machen (durch Ausführen von root
), kann ich denke, /var/lib/vendor
dass es verwendet werden kann vendor-dir
, und entweder den richtigen Pfad an die PATH-Variable in einer der globalen Dateien anhängen kann, /etc/bash.bashrc
oder /etc/profile
alternativ bin-dir
in der JSON-Datei angeben, zum Beispiel:
{ "config": { "vendor-dir": "/var/lib/vendor", "bin-dir": "/usr/local/bin" }, "require": { "drush/drush": "dev-master" } }
Die Installation erfolgt drush
global mit minimalen Kopfschmerzen, wie /usr/local/bin
bereits im PATH enthalten sein sollte.
Oder wenn Sie den Pfad nicht in einer JSON-Datei fest codieren möchten (damit er von verschiedenen Diensten gemeinsam genutzt werden kann), gibt es sogar einen viel einfacheren Weg, wie von jonhattan vorgeschlagen :
VM Weg (als root):
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
Travis CI Weg:
COMPOSER_BIN_DIR=~/bin composer -nqq install --no-interaction --optimize-autoloader --prefer-source
Anstelle von install
können Sie auch verwenden update
.