Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Development Tools

Vagrant, CMder, VirtualBox,rails Heroku, how-to

I have been using the vagrant and virtualbox combination on my Windows machine with a lot of success. but I cannot figure how to use the heroku commands. Ive downloaded the heroku toolbelt and the commands are available on my windows command line, but not my Cmder command line So I ent to my environment variables and the heroku path is there. In the research that I've done I cant seem to figure out

A) Why that %PATH is not available through vagrant/Linux and B) what the mechanics are behind this combination. Thanks

3 Answers

Alan Johnson
Alan Johnson
7,625 Points

Vagrant won't share your path with your Linux system - it's a totally different OS running under there, and the executables aren't even compatible on Linux. You'll want to install heroku while in your VM to get it added there.

James Barnett
James Barnett
39,199 Points

TL;DR Vagrant Box = Vagrant Base Box (VM w/ base OS) + VagrantFile (template w/ config options)


Let's define our terms:

  • VM: Short for virtual machine, an OS running in an isolated environment, it's basically a computer inside of a file
  • Host OS: The OS of your physical computer
  • Guest OS: The OS of your VM
  • Hypervisor: An application run on the Host OS that enables you to interact with a VM
  • Virtual Box: A popular free hypervisor
  • Vagrant: A collection of provisioning scripts that interact with a hypervisor to make provisioning VMs easier. Vagrant currently supports 3 hypervisors Virtual Box, VMWare Workstation & VMWare Fusion.
  • Vagrant Base Box: A VM with an OS installed that has been packaged Vagrant-compatible format
  • VagrantFile: A template for vagrant box, written in Ruby, for configuring the options for a box such as which vagrant base box to use, how much memory, space, IP address etc
  • Vagrant Box: Vagrant Base Box + VagrantFile = Vagrant Box
Alan Johnson
Alan Johnson
7,625 Points

Awesome definitions, James Barnett! Thanks for posting that.

Yeah. much appreciated. trying to learn what underneath the hood as much as possible!

Thanks!!! After reading this I went to Debian/Ubuntu version of heroku toolbelt and simply copy and pasted "wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh" to my command line Cmder, It downloaded and installed in 1 minute. Heroku commands are working. But let me try and understand. So when I pull up vagrant ssh it says ubuntu environent, so I'm essentially writing code in a Linux / Ubuntu OS which is much prefferred to Windows. but what is vagrant, and what is a vagrant box?