web-dev-qa-db-fra.com

Installer Composer avec Vagrant

J'ai installé avec succès Vagrant avec quelques boîtes sur mon PC Windows. Je dois dire que cela fonctionne génial, créer et détruire des VM avec différentes configurations à la volée. 

Le seul problème auquel je suis confronté à présent est que je souhaite installer composer. Mais composer vous oblige à indiquer php.exe pour le faire. Je ne veux pas installer PHP sur mon ordinateur, sinon il est inutile d'utiliser Vagrant, non. Comment puis-je résoudre ce problème?

J'ai vu des articles sur l'utilisation de Puppet, mais je ne pouvais pas en tirer de sens.

Merci d'avance.

9
JasonK

Vous devez simplement installer PHP (et curl) dans votre boîte de dialogue. Par exemple, exécutez vagrant ssh pour obtenir un accès SSH à votre boîte et exécutez les commandes suivantes:

$ Sudo apt-get install -y php5-cli curl
$ curl -Ss https://getcomposer.org/installer | php
$ Sudo mv composer.phar /usr/bin/composer

Vous êtes maintenant prêt à utiliser la commande composer dans votre zone vagabonde.

Vous pouvez améliorer ceci en faisant de la partie de provisioning, l'étape où une boîte est configurée lors de l'exécution de vagrant up. Pour ce faire, placez les commandes ci-dessus dans un fichier Shell (par exemple project/vagrant/provision.sh):

Sudo apt-get install -y php5-cli curl > /dev/null
curl -Ss https://getcomposer.org/installer | php > /dev/null
Sudo mv composer.phar /usr/bin/composer

Maintenant, configurez ce fichier Shell comme étape de provision dans votre VagrantFile:

Vagrant.configure("2") do |config|

  config.vm.box = "ubuntu/trusty64"

  # configure the Shell file as a provision step:
  config.vm.provision :Shell, path: "vagrant/provision.sh"

end

Maintenant, lors de l'exécution de vagrant init, le fichier shell est exécuté et php & composer sont installés.

Vous pouvez également choisir d'utiliser une boîte avec php et compositeur pré-installé, comme laravel/Homestead.

16
Wouter J

Il existe également une boîte à vagin avec composeur pré-installé . Voici le github pour cette boîte: https://github.com/Swader/Homestead_improved . Avec Git Bash pour Windows, accédez au dossier où/Homestead_improved a été installé. 

Run vagabond jusqu'à; , vagrant ssh pour entrer dans la machine VM.

Une fois à l'intérieur de la machine virtuelle cd à l'intérieur du/Code dir. Vous pouvez maintenant utiliser composer, par exemple composer global require "laravel/installer=~1.1" pour installer le programme d'installation Laravel.

0
Irfan Kissa