web-dev-qa-db-ja.com

Composer Vagrantをインストールする

Windows PCにいくつかのボックスと一緒にVagrantを正常にインストールしました。私はそれが素晴らしく機能し、さまざまな構成のVMをその場で作成および破棄することを言わなければなりません。

私が今直面している唯一の問題は、composerをインストールしたいということです。しかし、composerを実行するには、php.exeをポイントする必要があります。コンピューターにPHPをインストールしたくないので、他のポイントはありません。 Vagrantを使用して、この問題にどのように対処しますか?

Puppetの使用に関する記事をいくつか見ましたが、それらを理解することはできませんでした。

前もって感謝します。

15
JasonK

PHP(およびcurl)をvagrantボックスにインストールするだけです。たとえば、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ボックスでcomposerコマンドを使用する準備ができました。

これは、vagrant upの実行時にボックスをセットアップするステップであるプロビジョニングのこの部分を作成することで改善できます。これを行うには、上記のコマンドをシェルファイル(たとえば、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

次に、このシェルファイルを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を実行すると、シェルファイルが実行され、php&composerがインストールされます。

laravel/Homesteadのように、phpとcomposerがプリインストールされているボックスを使用することもできます。

23
Wouter J

浮浪者composerがプリインストールされたボックスもあります。このボックスのGithubは次のとおりです: https://github.com/Swader/Homestead_improved 。 Git Bash for Windowsで、/ Homestead_improvedがインストールされたフォルダーに移動します。

vagrant up;vagrant sshを実行して、VMマシン内に移動します。

仮想マシン内に入ると、/ Code内のcd dirになります。これで、たとえばcomposer global require "laravel/installer=~1.1"などのcomposerを使用して、Laravelインストーラーをインストールできます。

0
Irfan Kissa