code: func (m *DefaultScriptSourceManager) InstallRequired(scripts []string, dstDir string) ([]api.InstallResult, error) {
  	result := m.InstallOptional(scripts, dstDir)
  	failedScripts := []string{}
  	var err error
  	for _, r := range result {
  		if r.Error != nil {
  			failedScripts = append(failedScripts, r.Script)
  		}
  	}
  	if len(failedScripts) > 0 {
  		err = s2ierr.NewInstallRequiredError(failedScripts, constants.ScriptsURLLabel)
  	}
  	return result, err
  }
docs: // InstallRequired Downloads and installs required scripts into dstDir, the result is a
  // map of scripts with detailed information about each of the scripts install process
  // with error if installing some of them failed