code: func (n *Node) Download(ctx *cli.Context) ([]string, error) {
  	for _, s := range services {
  		if !strings.HasPrefix(n.DownloadURL, s.prefix) {
  			continue
  		}
  
  		m := s.pattern.FindStringSubmatch(n.DownloadURL)
  		if m == nil {
  			if s.prefix != "" {
  				return nil, errors.New("Cannot match package service prefix by given path")
  			}
  			continue
  		}
  
  		match := map[string]string{"downloadURL": n.DownloadURL}
  		for i, n := range s.pattern.SubexpNames() {
  			if n != "" {
  				match[n] = m[i]
  			}
  		}
  		return s.get(HttpClient, match, n, ctx)
  
  	}
  
  	if n.ImportPath != n.DownloadURL {
  		return nil, errors.New("Didn't find any match service")
  	}
  
  	log.Info("Cannot match any service, getting dynamic...")
  	return n.getDynamic(HttpClient, ctx)
  }
docs: // Download downloads remote package without version control.