Skip to main content
TrustRadius
HashiCorp Vagrant

HashiCorp Vagrant

Overview

What is HashiCorp Vagrant?

Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.

Read more
Recent Reviews

TrustRadius Insights

Vagrant has gained popularity among users who have switched from DesktopServer for their local development stack, citing its versatility …
Continue reading

Great for us!

8 out of 10
August 17, 2018
Incentivized
We use Vagrant across our Product Dev teams (QA, Front end/Back end Dev, IT Operations, etc) to test our code changes, debug and preview …
Continue reading
Read all reviews
Return to navigation

Pricing

View all pricing
N/A
Unavailable

What is HashiCorp Vagrant?

Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.

Entry-level set up fee?

  • No setup fee

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting/Integration Services

Would you like us to let the vendor know that you want pricing?

6 people also want pricing

Alternatives Pricing

What is HashiCorp Terraform?

Terraform from HashiCorp is a cloud infrastructure automation tool that enables users to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It codifies APIs into declarative configuration files that can be shared amongst team members,…

What is Microsoft System Center?

Microsoft System Center Suite is a family of IT management software for network monitoring, updating and patching, endpoint protection with anti-malware, data protection and backup, ITIL- structured IT service management, remote administration and more. It is available in two editions: standard…

Return to navigation

Product Details

What is HashiCorp Vagrant?

HashiCorp Vagrant is a tool for building complete development environments and is the command line utility for managing the lifecycle of virtual machines. Vagrant isolates dependencies and their configuration within a single disposable and consistent environment.

Boasting an easy-to-use workflow and focus on automation, Vagrant aims to lower the development environment setup time, increase development/production parity, and make the "it works on my machine" excuse a relic of the past.

HashiCorp Vagrant Technical Details

Operating SystemsUnspecified
Mobile ApplicationNo

Frequently Asked Questions

Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.

Oracle VM VirtualBox, VMware Fusion, and VMware Horizon are common alternatives for HashiCorp Vagrant.

The most common users of HashiCorp Vagrant are from Small Businesses (1-50 employees).
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

(40)

Community Insights

TrustRadius Insights are summaries of user sentiment data from TrustRadius reviews and, when necessary, 3rd-party data sources. Have feedback on this content? Let us know!

Vagrant has gained popularity among users who have switched from DesktopServer for their local development stack, citing its versatility and robustness. With Vagrant, users are able to spin up WordPress websites locally and assign them a local domain, offering flexibility and automation. Development teams rely on Vagrant to quickly scaffold web projects, using proprietary Vagrant configurations and boxes that mimic staging and production environments. Vagrant is primarily used for PHP projects like WordPress but is also utilized for bespoke, bundled, or framework websites.

The use of Vagrant has yielded positive results for various projects. For instance, it has greatly facilitated the development of Taskle by making the process easier and more efficient. Users have found Ansible to be a valuable tool when working with Vagrant, enhancing their overall development experience. Freelance developers and development teams depend on Vagrant for local application development, including Drupal servers, ensuring compatibility with Linux servers and minimizing errors when building code on a Mac.

In addition to its broad range of applications, Vagrant is commonly used in conjunction with version control and deployment tools to enable safer development and testing, optimize local resources usage, and eliminate network latency. Development teams rely on Vagrant to effectively mimic production server environments, addressing compatibility issues and ensuring consistent development environments across all team members. Furthermore, operations teams utilize Vagrant to develop changes applied to production infrastructure via Puppet.

Apart from its role in web development projects, Vagrant plays an important part in one-off development tasks as well as provisioning specific versions of Windows and Internet Explorer for testing purposes. Its ability to serve as a stable environment makes it easier for developers within a company to switch projects and maintain multiple scenarios on servers. It is widely used for Laravel web app development, providing a consistent environment encompassing the necessary packages.

Vagrant's usefulness extends beyond web developers as software developers employ it to deploy, execute, and test software in virtual machines. Additionally, consultants find value in using Vagrant to configure and test products before deploying them in production environments. Overall, Vagrant is a versatile tool that caters to diverse development needs, offering flexibility, efficiency, and consistency in the development process.

Decentralized tool with flexibility: Users consistently praise Vagrant as a decentralized tool that allows them to create container packages for starting projects. This feature provides the flexibility needed to work with different styles of WordPress installs or even create custom environments, enhancing their overall development experience.

Easy configuration for local development: Reviewers appreciate Vagrant's ability to easily set ports and URLs for local development. This convenient feature enables them to seamlessly work on their projects without encountering any issues, such as SQL problems, which they may face when using other tools like MAMP or DesktopServer.

Efficiency and repeatability in development: Many users highlight the efficiency of Vagrant in scaffolding a development and test environment. They consistently achieve repeatable results, ensuring that their projects are built on a solid foundation. Additionally, this efficient workflow saves time and effort during the development process.

Steep Learning Curve: Many users have expressed frustration with the steep learning curve associated with deploying a vagrant package, especially for those who are not familiar with the command line. They have found it challenging to navigate through Vagrant's configuration and setup process.

Bugs in Major Updates: Several reviewers have reported encountering bugs after installing major updates, which have had significant consequences on their development projects. These issues disrupted their workflow and required additional time and effort to resolve.

Compatibility Issues: Some users have experienced compatibility problems when running Vagrant on certain operating systems, specifically Windows 8.1 Home and Windows 10 Home. This has caused inconvenience and hindered their ability to fully utilize Vagrant's features.

Users have made several recommendations for improving the experience with Vagrant.

First, users recommend using virtual machines and web systems to enhance page results, which can improve performance and provide a better user experience.

Second, users suggest utilizing tools like PuPHPet or Chef to build a Vagrantfile. These tools simplify the process of setting up and configuring Vagrant, making it easier to manage projects.

Lastly, users advise exploring existing projects that use Vagrant on version control networks. This allows users to gain knowledge and experiment with changes, helping them understand how others have implemented Vagrant in their workflows.

Overall, these recommendations aim to enhance the learning curve of Vagrant and provide users with a more efficient and collaborative development environment.

Attribute Ratings

Reviews

(1-14 of 14)
Companies can't remove reviews or game the system. Here's why
Brendon Brown | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Incentivized
We use Vagrant exclusively to test web development projects internally. Our development team uses our proprietary Vagrant configs and boxes which mimic our staging and production environments to quickly scaffold a web project for speedy local development and testing. Our usage targets mostly php projects which require MAMP-type environments, such as Wordpress, though we've also used Vagrant for bespoke, bundled or framework websites.
  • Extremely efficient project scaffolding of a dev/test environment
  • Repeatable results (for the most part).
  • Great variety of community boxes and plugins
  • Free
  • Major updates have introduced bugs with consequences in our dev projects
  • Syntax updates have major repercussions for plugin compatibility
  • Community support is a lengthy process
I would recommend this tool to a colleague looking to create a repeatably deployable local dev environment based on their staging and production environments. I would recommend this mostly for individuals or teams requiring environments with server-side software such as php, et al. There are likely less processor-heavy and smaller tools for simpler projects.
Score 9 out of 10
Vetted Review
Verified User
Incentivized
In my organization, Vagrant is used to managing VMs using VirtualBox and Chef Client as the provisioner. This allows users to automatically install software, change configurations and all of the lifecycle used to deploy later on production, without any additional concerns during the process of development, since is a VM-controlled environment.
  • Contained development environments on VMs, but with same structure as production environments
  • Open-source
  • Huge community
  • Easy to set up
  • It was great if Vagrant consumes less resources than what consumes today
Vagrant is well suited to be integrated with Chef, in order to execute configured code on one or more platforms in isolation. Associating Vagrant as a tool for building and managing virtual machine environments in a single workflow, we get an entire group of tools that are a must-have when an organization has lots of platforms that can share some configuration.
Josh Stapp | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
Vagrant is used to create virtual machines for our Drupal servers locally so we can develop on Macs and not have issues when our servers are running Linux. It helps make sure there are no errors building a slightly different package of code, which could easily happen on a Mac.
  • Speed vs other VMs
  • Documentation
  • Robust, older than many VMs
  • Not as fast as natively running Linux
  • Occasionally I've had to kill instances to start new ones
  • Can be more confusing to set up (especially auth) compared to native Linux
Vagrant is well suited for a team that needs a VM so that only a couple engineers can worry about the environment setup and others can focus on the code. I would give it an eight, but I had a slightly easier experience with lando. Vagrant, however, is older and more widespread, so it could have more features I didn't need.
Hernán Silva | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Incentivized
We use Vagrant to provision development environments for web developers.
  • Consistent, reliable virtual environments for web development
  • Easy to use commands
  • Lacks a GUI, would be useful for entry level users
  • Uses lots of resources on old machines
  • Compatibility issues with some operating systems (Windows 8.1 home, Windows 10 home)
You can easily create, share and provision development environments across platforms, excepto if you are on Windows...
August 17, 2018

Great for us!

Score 8 out of 10
Vetted Review
Verified User
Incentivized
We use Vagrant across our Product Dev teams (QA, Front end/Back end Dev, IT Operations, etc) to test our code changes, debug and preview changes made. Vagrant has been a good local way for individuals to work on their code base before making any changes to our stage or production code.
  • Local ability to see and test code changes
  • Can be customized on per user basis
  • Can be a complicated setup process depending on your code
  • Long setup, especially on Windows machines
Vagrant is well suited for anyone technical department that does Development and needs to thoroughly test your code, see changes and preview features. Vagrant can give the ability for users to build their own test box to be able to accomplish all of this. In our experiencing the setup and tweaking to get to a workable state has been a bit of a task but now that we have it all done its a super useful tool.
Score 8 out of 10
Vetted Review
Verified User
Incentivized
We use Vagrant to run virtual machines for local development of our web applications. Each team across our department uses it, but with various configurations. Vagrant allows us to test our applications locally using the same operating system and software configurations as our production servers, so we are able to get a better idea of how things will work once deployed.
  • Free
  • Local testing
  • Allows use of the same OS and software as the server
  • Pretty fast and reliable
  • Can be difficult to set up
  • Requires command line usage, which can be difficult for less tech savvy designers/developers
  • Can take up a lot of disk space if running several VMs with various configurations
Vagrant works well for the local development of any website or web application. It shouldn't be very difficult to set up for someone comfortable with Unix and command line usage. It's great for those wanting to get local development as close as possible to the production environment.

It's less appropriate for more design focused developers who are not super comfortable with the command line. Though once set up and configured, it's pretty easy to teach anyone how to use it.
Collin Berg | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
I switched to vagrant from DesktopServer for my local development stack when updating to High Sierra. Vagrant is a much more versatile and robust product that gives me flexibility and automation. I use it to spin up Wordpress websites locally and give them a local domain. DesktopServer only allowed 3 instances, but with Vagrant I can use as many as I need.
  • Vagrant is decentralized so anyone can make a container package to get a project started. you aren't limited to wordpress, or even one style of wordpress install (you can make a sage.io wordpress environment).
  • Vagrant easily lets you set ports and URLs for local development.
  • I have yet to have a problem with Vagrant, as opposed to MAMP and DesktopServer, which both gave me SQL or other issues.
  • The learning curve is steep for deploying a vagrant package if you've never dealt the command line.
  • Initially, it was a little difficult to get the networking right because I didn't have a lot of experience with using to the virtual machine.
Vagrant is great if you are working on websites or applications locally and need to set up a container that manages the environment. I'm no longer struck with having to work only in one version of a language as well. I can debug locally with an old project in PHP 5.3 or work on a new project that uses PHP 7
Score 7 out of 10
Vetted Review
Verified User
Incentivized
Used by software developers to create virtual machines where the software that is being developed can be deployed, executed and tested. Also used by consultants to create test or development environments where other products that are delivered to customers can be configured and proven to work as they are needed before putting them in production environments.
  • Easy to create machines with different OS's, list of them can be found from Vagrant's website with configuration details.
  • Flexible configuration, user can determine what software will be pre-installed to machine. Saves time because it doesn't need to be done manually every time.
  • Easily manage full environments, not just single machines, with single command.
  • There's no GUI. Everything has to be configured by text editor and all operations are done through command line.
  • If there's a problem when bringing up the machine, Vagrant may take lot of time by just waiting and not giving good error output.
  • I don't like its configuration syntax (Ruby).
It saves lot of time by making new machine deployments quick and easy. Only one person has to write and upkeep the configuration files and everyone else can then use them without knowing how to modify them. All they need to do is to install Vagrant and type one command to create the machines so whole team doesn't need to be trained on how to configure Vagrant. However Vagrant creates full virtual machines so it needs a powerful host computer and it always takes a while to bring them up.
Chris Putnam | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Vagrant provides a framework and automation tools to deploy virtual machines for local development of many sites and applications. This allows safer development and testing, and can be more efficient with the use of local resources and 0 network latency. In tandem with other tools, such as version control and deployment tools, Vagrant is a popular part of many development tool-sets.
  • Automation of virtual machine management tasks
  • Configuration of local development environment
  • Documentation
  • Support minimal - technical expertise required
If you have a technical expert or if a pre-built box or configuration wizard can meet your needs, Vagrant is a great fit. Even an expert could find it time-consuming to start with Vagrant and related technologies from scratch, so starting from a pre-built environment is highly recommended. Finding an appropriate box will be more or less common depending on your technology stack. LAMP is common as are many Node stacks.
Joey Yax | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Incentivized
Vagrant is used for local development of websites, APIs and web applications. By being able to mimic the production server environment we're able to eliminate the potential for any compatibility issues that can occur when running the code on a different architecture than it was originally built on. It's also helpful in the reverse-- Vagrant ensures that every developer is using the exact same environment.
  • Server Virtualization - it's easy to recreate a server environment and automate builds for other developers.
  • Seamless integration between the server environment and local machine. This allows you to use your preferred editor, automation tools and other applications, but have the website run in a self-contained environment
  • Community
  • Learning curve is steep - It can be challenging for someone to set up initially. After some coaching, the basics come pretty quickly though.
  • Relies on external Virtual Machine applications - It would be great if Vagrant itself could run the virtual machine instead of leaning on other virtualization software. This is a small detail, but would make setup simple.
  • Better support for running
Extremely useful, but can get a little complicated to maintain several environments. If you only work on one or a handful of sites Vagrant is awesome. If you have dozens to maintain it gets a little more cumbersome. If ensuring compatibility is a must have it's a no-brainer and excellent for sandboxing projects.
Js Lim | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Incentivized
Most of our programmers use Vagrant for Laravel web app development. It's easier for all of us to have the same development environment. Also, most of the necessary packages are already included in the image. Just run a single command and that's it. So far it is only used by our IT department.
  • Fast & easy setup for development environment.
  • Consistent to all programmers within a same project.
  • One is the memory usage, because it is a virtual OS running on top of the host. Thus if a PC does not have enough memory, it is quite suffer[able] to use it.
For new colleagues, Vagrant is very good and suitable, because usually newcomers need to take some time to setup their PC environment. Thus Vagrant does most of the job here.
Charles Anderson | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
We mostly use Vagrant for operations to develop changes that will be applied to our production infrastructure via Puppet. I've also used it for some one-off development tasks I've done where I needed a "disposable" machine to try something out on. I've also used it to provision specific versions of Windows and IE for testing.
  • It builds VM quickly and easily, which allows them to be treated like livestock rather than pets. They can easily be thrown away and rebuilt.
  • Having access to a large library of VMs (via Vagrantfiles) enables rapid testing in multiple environments.
  • It's free and open-source.
  • As Vagrant's installed base has expanded, the combinations of Vagrant versions, guest OS versions, and VM providers has exploded. As a result, sometimes a particular combination doesn't work. It can be difficult to pin down the culprit, but the community is very helpful. This isn't really a knock on Vagrant - it's inevitable given its success.
It's my go-to tool for provisioning VMs.
Claudio Fernando Maciel | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Incentivized
With literally dozens of development environments, spread both throughout the company's development computers and our servers, it was becoming more and more daunting a task to keep them all integrated, concise and consolidated. There were just too many bugs whenever a new scenario showed up as we configured the new one, rendering one too many previous ones inoperable.
Vagrant became the main staple for the company's developers, as we all were part of both the research and the development tasks at the company. So, switching projects - as well as keeping various scenarios at the same time on our servers - really became a breeze for everyone. Now, every new task of research that involves a new set of technology, comes with a vagrant up command, which is nice and simple to deal with the incompatibilities, so common in this industry.

  • Maintaining many virtualized machines at the same time
  • Multiple platform support
  • A lot lighter if compared with VMBox
  • The end of "it's working at my computer" kind of excuse when things break at production
  • If possible, it could be lighter than its alternatives.
  • Improve the way boxes work, to make it easier to update and/or find
  • For simple out-of-the-box tasks Vagrant is pretty simple to use, but for much more real-life and complex tasks, it can become quite daunting to configure a box and make it available/distributable to all the company's computers.
If what you need is a machine to run your tests, research, and to tinker with and not be afraid of ruining your machine or the company's servers, vagrant is a great option. Also it's a great choice if you are working on a team based project, as everybody gets to share exactly the same environment, without the risk of having variations of path variables, dependencies versions and so on. If what you are looking for is isolation, then probably it's not the most well suited tool for you, as it's still a machine dependent on VirtualBox (or others), while, causing somewhat of an overhead.
Andrew Shell | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Incentivized
Originally our company would do development on remote machines. I'd SSH into a development box and do my work. I found that this was less than ideal because it was a lot of work to set up different boxes for any additional developers.
When we started work on our second application Taskle, I decided to try using Vagrant for our development environment. I had seen a presentation about it at a local user group and thought it would make development easier.
Initially we used Vagrant with Chef, but eventually, I found Ansible and have really liked using it.
Since Vagrant is a tool for development environments, it's only used by our developers. We currently have several freelance developers working on our applications in addition to myself and we all use Vagrant boxes for development.
  • Vagrant allows me to do development locally. That means that as long as I have my computer I can work on our product. This has been helpful when our internet has gone down, or even just if the internet has been slow. I've also been able to work in the car or when I'm camping and don't have wi-fi.
  • Vagrant has allowed me to set up a consistent development environment for all of our developers. I know they are using the correct version of the servers and of the code.
  • Vagrant allows me to easily.
  • Vagrant also allows me to experiment with alternate configurations. I can test our for instance if upgrading the OS or version of PHP is going to break anything.
  • Because Vagrant is a low-level tool with many ways to configure it, there is a steep learning curve. You don't just have to learn (or install) Vagrant, but also Virtualbox, Ansible and possibly some Vagrant plugins to keep boxes up to date.
  • Support on Windows doesn't seem great. I'm a Mac guy, so it's been very difficult getting things to work as expected when a developer wants to work on Windows.
  • Perhaps I didn't configure it correctly, but the default shared folders are not the best for performance. There are also frequently weird issues regarding file permissions.

If you're writing software, particularly software that depends on other services (web servers or databases for example) then Vagrant is great. I know some people skip Vagrant and just set up virtual machines on their own, but I've found that Vagrant streamlines the process nicely and makes it easy to update or swap out versions.

If you're a web developer (which I am) it's amazing. I can have several boxes configured for my different projects and I just spin them up or down based on what I'm working on.

One scenario where this might not be ideal is if you're running Vagrant on a computer that has limited resources. Since you're running a virtual machine with its own operating system and such you'll want a host computer with enough RAM, hard drive space and CPU to run the virtual machine properly without killing the performance of the host.

The virtual disks can also take up a lot of space if you're not careful so if you have many virtual machines provisioned and don't clean up the old ones that you're not using, you may find that your hard drive is full. Each of my Linux servers take up about 10GB of disk space.

Return to navigation