# File lib/juicer/install/base.rb, line 72
      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

        # Create directories
        FileUtils.mkdir_p(File.join(@install_dir, path, "bin"))
        FileUtils.mkdir_p(File.join(@install_dir, path, version))

        # Return resolved version for subclass to use
        version
      end