In a Vagrant development environment, is it necessary to install a version control system such as GIT inside the VM? If so, why?
It depends. Vagrant has a basic operation of sharing a folder on your physical machine with the virtual machine. You can:
- Use GIT on your physical machine to version your project
- Using the GIT in the virtual machine
Basically, whatever. But it's important to remember that using Vagrant does not replace the use of versioning software. Maybe if you're working alone on a project, feel like there's no need to use versioning, but it's always good to keep up-to-date with the tools so you do not have to learn much new if you start a project on partnerships.
I'm new to Composer, and I'm excited, wanting to use this tool in my projects, do I need to install it in the VM too? If so, why?
Basically the same old concept applies. You could install Composer only on the physical machine and manage your project there or install it on the virtual machine.
In particular, I suggest installing all the development tools in Vagrant. Why?
- How useful is Composer on your physical machine?
- How useful is GIT on your physical machine?
If the answer to both questions is just manage my project that is running inside Vagrant , then you are simply messing the environment of your physical machine rather than take more advantage of the virtual machine.
What would you need to install besides the basics (Apache, PHP, MySQL)?
It is important to install the basic tools that you will use to work. Laravel, for example, offers a Vagrant called Homestead that comes with PHP 7, MySQL, Nginx (instead of Apache), Composer, Git, Mencache, Sqlite 3, etc ...
Maybe you should not worry about what else you need to install besides the basic tools. When the need arises, you will know what else to install.