def install(version = nil)
raise "#{name} #{version} is already installed in #{File.join(@install_dir, path)}" if installed?(version)
version ||= latest
log "Installing #{name} #{version} in #{File.join(@install_dir, path)}"
if @dependencies.length > 0
log "Installing dependencies"
dependencies { |dependency, ver| dependency.install(ver) unless dependency.installed?(ver) }
end
FileUtils.mkdir_p(File.join(@install_dir, path, "bin"))
FileUtils.mkdir_p(File.join(@install_dir, path, version))
version
end