1. A method for creating a virtual machine (VM) image, comprising: selecting a subset of packages from an available set of packages on a computer, the selected subset of packages including at least a first package and a second package and omitting a non-included package; building a VM image on the computer with the selected subset of packages; determining if there is a conflict between a first package in the subset of packages and a second package in the subset of packages; and if there is a conflict between the first package in the subset of packages and the second package in the subset of packages: recommending the first package to be removed from the VM image; recommending a third package that does not conflict with the second package at run-time; removing the first package from the VM image; and adding the third package to the VM image, where the VM image is built prior to be installed on a computer.