Windows PCにいくつかのボックスと一緒にVagrantを正常にインストールしました。私はそれが素晴らしく機能し、さまざまな構成のVMをその場で作成および破棄することを言わなければなりません。
私が今直面している唯一の問題は、composerをインストールしたいということです。しかし、composerを実行するには、php.exeをポイントする必要があります。コンピューターにPHPをインストールしたくないので、他のポイントはありません。 Vagrantを使用して、この問題にどのように対処しますか?
Puppetの使用に関する記事をいくつか見ましたが、それらを理解することはできませんでした。
前もって感謝します。
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がプリインストールされているボックスを使用することもできます。
浮浪者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インストーラーをインストールできます。