code: func InstallPlugin(pluginName, version string, c CommandLine) error {
  	pluginFolder := c.PluginDirectory()
  	downloadURL := c.PluginURL()
  	if downloadURL == "" {
  		plugin, err := s.GetPlugin(pluginName, c.RepoDirectory())
  		if err != nil {
  			return err
  		}
  
  		v, err := SelectVersion(plugin, version)
  		if err != nil {
  			return err
  		}
  
  		if version == "" {
  			version = v.Version
  		}
  		downloadURL = fmt.Sprintf("%s/%s/versions/%s/download",
  			c.GlobalString("repo"),
  			pluginName,
  			version)
  	}
  
  	logger.Infof("installing %v @ %v\n", pluginName, version)
  	logger.Infof("from url: %v\n", downloadURL)
  	logger.Infof("into: %v\n", pluginFolder)
  	logger.Info("\n")
  
  	err := downloadFile(pluginName, pluginFolder, downloadURL)
  	if err != nil {
  		return err
  	}
  
  	logger.Infof("%s Installed %s successfully \n", color.GreenString("✔"), pluginName)
  
  	res, _ := s.ReadPlugin(pluginFolder, pluginName)
  	for _, v := range res.Dependencies.Plugins {
  		InstallPlugin(v.Id, "", c)
  		logger.Infof("Installed dependency: %v ✔\n", v.Id)
  	}
  
  	return err
  }
docs: // InstallPlugin downloads the plugin code as a zip file from the Grafana.com API
  // and then extracts the zip into the plugins directory.