web-dev-qa-db-fra.com

Coincé. Installation de Drush via Composer ne fonctionne pas

Il semble que j'ai installé Drush, en suivant les instructions de la documentation.

Voici ce que j'ai fait.

Jens-MacBook-Air:~ jensimmons$ composer --version
Composer version 1.0.0-alpha8 2014-01-06 18:39:59
Jens-MacBook-Air:~ jensimmons$ composer global require drush/drush:dev-master
Changed current directory to /Users/jensimmons/.composer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing pear/console_table (1.1.5)
    Downloading: 100%         

  - Installing symfony/yaml (v2.2.1)
    Downloading: 100%         

  - Installing d11wtq/boris (v1.0.8)
    Downloading: 100%         

  - Installing drush/drush (dev-master a2c7030)
    Cloning a2c703071e2c3374e1b3855e24d29468b9069b5c

pear/console_table suggests installing pear/Console_Color (>=0.0.4)
d11wtq/boris suggests installing ext-pcntl (*)
Writing lock file
Generating autoload files
Jens-MacBook-Air:~ jensimmons$ drush help
-bash: drush: command not found

Quand je change de répertoire, à l'intérieur d'une installation Drupal, j'obtiens le même résultat. Drush: commande introuvable.

Qu'est-ce que je rate??

6
jensimmons

Essayez d'ajouter ce qui suit à la fin de votre fichier /Users/jensimmons/.bashrc:

export PATH="$HOME/.composer/vendor/bin:$PATH"

puis exécutez

source $HOME/.bashrc

Éditer:

Je viens de remarquer qu'il y avait une section dans la section Install/Update - Composer du fichier Drush README.md qui mentionne ceci:

https://github.com/drush-ops/drush#installupdate---composer

C'est le deuxième point "Assurez-vous que le répertoire bin global de Composer est sur le système PATH (recommandé)"

J'espère que cela pourra aider.

11
ylynfatt

Je ne sais pas pourquoi ils n'incluent pas cela dans les directions, mais vous pouvez utiliser un lien symbolique pour faire de drush une commande exécutable globalement:

Sudo ln -s /home/YOU/.composer/vendor/drush/drush/drush /usr/local/bin

De cette façon, vous n'avez pas à vous soucier de l'exécution de source $HOME/.bashrc chaque fois que vous vous connectez.

Ajustez votre répertoire personnel selon vos besoins. ;)

4
Jon Pugh

pour la version ubuntu

la première vérification est votre composer est ajouté avec succès dans votre variable d'environnement,

Dans votre terminal, tapez evn et appuyez sur Entrée pour vérifier les chemins disponibles. composer doit être ajouté avec la variable "PATH = ..."

si composer chemin manquant, ajoutez votre chemin par cette approche

si votre composer fonctionne correctement, suivez les étapes pour installer le dernier drush

Étape 1: utilisez ce cmd compositeur global nécessite drush/drush: dev-master

vérifiez votre version drush.

1
praveen61

Une réponse à la question de jensimmon dans la réponse de ylynfatt:

Hm. Attendre. Alors je pars, quitte, arrête de travailler sur quelque chose. Et revenez-y plus tard. Et l'écrasement ne fonctionne plus. Si je lance à nouveau la source $ HOME/.bashrc, cela fonctionne. Que puis-je faire pour rendre cela permanent?

(Je ne peux pas poster de commentaire là-bas, pas encore assez de points):

réponse courte: essayez de mettre en .bash_profile: source ~/.bashrc

Réponse longue (d'après mes notes, je ne me souviens pas des sources originales):

Lorsque bash est appelé en tant que shell de connexion interactif ou en tant que shell non interactif avec l'option --login, il lit et exécute d'abord les commandes du fichier/etc/profile, si ce fichier existe.
Après avoir lu ce fichier, il recherche ~/.bash_profile, ~/.bash_login et ~/.profile, dans cet ordre, et lit et exécute les commandes du premier qui existe et est lisible. ... Lorsqu'un shell interactif qui n'est pas un shell de connexion est démarré, bash lit et exécute les commandes à partir de ~/.bashrc, si ce fichier existe. [/ etc/profile est global, les 3 fichiers suivants sont locaux. Cependant, ce qui précède peut changer selon la façon dont le shell est invoqué. Donc ...] Par défaut, Terminal démarre le shell via/usr/bin/login, ce qui fait du shell un shell de connexion. Sur chaque plate-forme (pas seulement Mac OS X) bash n'utilise pas .bashrc pour les shells de connexion (uniquement/etc/profile et le premier de .bash_profile, .bash_login, .profile qui existe et est lisible). C'est pourquoi mettre "source ~/.bashrc dans votre .bash_profile" est un conseil standard.

0
Mark

Composer

Essayez le one-liner suivant (si vous avez des privilèges root):

Sudo COMPOSER_HOME=/var/lib/composer COMPOSER_BIN_DIR=/usr/local/bin COMPOSER_VENDOR_DIR=/var/lib/composer/vendor composer require drush/drush:dev-master

qui installerait le récent drush directement dans /usr/local/bin (vous pouvez librement changer COMPOSER_BIN_DIR où vous voulez l'installer, donc composer créerait une symbolique appropriée lien pour vous).


Si vous préférez l'exécuter en tant qu'utilisateur, essayez:

COMPOSER_BIN_DIR=~/bin composer require drush/drush:dev-master

qui installerait le récent drush dans votre ~/bin local (certains OS reconnaissent ce répertoire comme ayant des binaires exécutables), sinon ajoutez la ligne suivante dans votre ~/.bashrc ou ~/.profile:

export PATH=$PATH:$HOME/bin

Phar

Vous pouvez également essayer d'installer Phar binary comme indiqué ci-dessous.

Téléchargez la dernière version stable à l'aide de la commande ci-dessous:

Linux :

Sudo install <(curl http://files.drush.org/drush.phar) /usr/local/bin/drush

OS X/Unix :

Sudo wget -O /usr/local/bin/drush http://files.drush.org/drush.phar
Sudo chmod +x /usr/local/bin/drush

Windows et autres

Téléchargez manuellement sur https://github.com/drush-ops/drush/releases

0
kenorb

Essayez d'ajouter ceci à .bashrc

export PATH = ~/.config/composer/vendor/bin: $ PATH

0
Kaka Awira