使用 Vagrant 安装 Composer

Installing Composer with Vagrant

我已经在 Windows PC 上成功安装了 Vagrant 和一些盒子。我不得不说它工作得很棒,可以即时创建和销毁具有不同配置的 VM。

我现在面临的唯一问题是我想安装composer。但是作曲家要求您指向 php.exe 才能这样做。我不想在我的电脑上安装 PHP ,否则使用 Vagrant 没有意义,对吧。我该如何解决这个问题?

我看过一些关于使用 Puppet 的文章,但我对它们没有太大的了解。

提前致谢。

您只需要在您的 vagrant box 中安装 PHP(和 curl)。例如,执行 vagrant ssh 以通过 SSH 访问您的盒子并执行以下命令:

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

现在您可以在 vagrant box 中使用 composer 命令了。

您可以通过进行这部分配置来改进这一点,即在 运行 vagrant up 时设置框的步骤。为此,将上述命令放入 shell 文件(例如 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

现在,将此 shell 文件配置为 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

现在,当 运行 vagrant init 时,会执行 shell 文件并安装 php & composer。

您也可以选择使用预装了 php 和 Composer 的盒子,例如 laravel/homestead

还有一个预装了 composer 的 vagrant box。这是此框的 Git 中心:https://github.com/Swader/homestead_improved。 使用 Git Bash for windows,导航到安装 /homestead_improved 的文件夹。

运行 vagrant up;, vagrant ssh 进入虚拟机。

进入虚拟机后 cd 进入 /Code 目录。您现在可以使用 composer,例如 composer global require "laravel/installer=~1.1" 来安装 Laravel 安装程序。

在 vagrant homestead 中更新作曲家时要遵循的命令:

  1. 无业游民 ssh
  2. cd 代码(我的 laravel 项目所在的位置)
  3. composer selfUpdate --2 [这意味着 composer selfUpdate --versionnumber]