# File lib/bundler/plugin.rb, line 55
    def gemfile_install(gemfile = nil, &inline)
      builder = DSL.new
      if block_given?
        builder.instance_eval(&inline)
      else
        builder.eval_gemfile(gemfile)
      end
      definition = builder.to_definition(nil, true)

      return if definition.dependencies.empty?

      plugins = definition.dependencies.map(&:name).reject {|p| index.installed? p }
      installed_specs = Installer.new.install_definition(definition)

      save_plugins plugins, installed_specs, builder.inferred_plugins
    rescue RuntimeError => e
      unless e.is_a?(GemfileError)
        Bundler.ui.error "Failed to install plugin: #{e.message}\n  #{e.backtrace[0]}"
      end
      raise
    end