X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8f8a0ac695f4440412de0245fc748c2792cb1496..14626b1a574924a23f18073b8bb6eff829d66e5a:/lib/cli/external.go?ds=sidebyside diff --git a/lib/cli/external.go b/lib/cli/external.go index ba85aae9ea..eddb563f7a 100644 --- a/lib/cli/external.go +++ b/lib/cli/external.go @@ -31,9 +31,6 @@ var ( "normalize": externalCmd{"arv-normalize"}, "docker": externalCmd{"arv-keepdocker"}, }) - Pipeline = cmd.Multi(map[string]cmd.Handler{ - "run": externalCmd{"arv-run-pipeline-instance"}, - }) // user, group, container, specimen, etc. APICall = apiCallCmd{} ) @@ -92,8 +89,33 @@ func (ec externalCmd) RunCommand(prog string, args []string, stdin io.Reader, st } fmt.Fprintf(stderr, "%s failed: %s\n", ec.prog, err) return 1 + case *exec.Error: + fmt.Fprintln(stderr, err) + if ec.prog == "arv" { + fmt.Fprint(stderr, rubyInstallHints) + } else if strings.HasPrefix(ec.prog, "arv-") { + fmt.Fprint(stderr, pythonInstallHints) + } + return 1 default: fmt.Fprintf(stderr, "error running %s: %s\n", ec.prog, err) return 1 } } + +var ( + rubyInstallHints = ` +Note: This subcommand uses the arvados-cli Ruby gem. If that is not +installed, try "gem install arvados-cli", or see +https://doc.arvados.org/install for more details. + +` + pythonInstallHints = ` +Note: This subcommand uses the "arvados" Python module. If that is +not installed, try: +* "pip install arvados" (either as root or in a virtualenv), or +* "sudo apt-get install python-arvados-python-client", or +* see https://doc.arvados.org/install for more details. + +` +)