gr icon indicating copy to clipboard operation
gr copied to clipboard

ENOENT error executing the command "pull" (solved)

Open NathanHazout opened this issue 8 years ago • 8 comments

nathanh-mbp:~ nathanh$ gr @sample git pull

in ~/Git/Samples/Adapters

ENOENT error executing the command "pull" in /Users/nathanh/Git/Samples/Adapters. Please make sure you have installed an executable named "pull" in $PATH.

Am I missing something? Is this a known issue?

NathanHazout avatar Mar 31 '16 05:03 NathanHazout

gr @sample status works fine.
But if I try to run any real command, it fails.

NathanHazout avatar Mar 31 '16 05:03 NathanHazout

weird - works for me:

[~] gr --version
0.5.1
[~] node -v
v4.1.1
[~] gr @books ls
in ~/mnt/svg-book

Makefile    bin     code        input       junk        layout      node_modules    output      package.json    tmp     todo.md

Could you do a console.log(process.argv, task, req.path) here - https://github.com/mixu/gr/blob/master/plugins/run.js#L44 and post the results?

Does ~/Git/Samples/Adapters have a .git folder? The git commands check for that folder and fail if it does not exist (lib/command-requirements.js)

mixu avatar Mar 31 '16 06:03 mixu

nathanh-mbp:Samples nathanh$ gr --version
0.5.1
nathanh-mbp:Samples nathanh$ node -v
v5.9.0
nathanh-mbp:Samples nathanh$ gr @sample ls
works but I can't paste the results here

Yes all the folders in the gr file are git projects with git folders.

I'm not sure I understand the test you asked me to do. I don't work from source code, I installed it using NPM...

NathanHazout avatar Mar 31 '16 06:03 NathanHazout

thanks - so it might be something to do with git.

To patch / debug this issue, you can clone this repo from github, edit that file (plugins/run.js) and then run ./bin/gr @sample git status or something similar.

mixu avatar Mar 31 '16 06:03 mixu

Note that git itself works:

nathanh-mbp:Samples nathanh$ cd Adapters
nathanh-mbp:Adapters nathanh$ git pull
Already up-to-date.

I will try to run from source code a bit later.

NathanHazout avatar Mar 31 '16 06:03 NathanHazout

oh I think there might be another explanation - do you have a folder called git in the folder where you ran gr @sample git pull? I think what's happening is that gr thinks you want @sample and ./git as the targets with pull as the command. I didn't think about that possibility when I was writing the target detection code ...

If so, gr @sample -- git status should work (-- explicitly separates the targets and the command).

mixu avatar Mar 31 '16 06:03 mixu

Good catch!

Indeed, all my repositories are in a folder called "Git", and I was running the command above this folder. If I run the command in a different folder it works.

I'll let you decide if you want to close as "work as designed" or if you can do something to help avoid those scenarios :)

Thanks

NathanHazout avatar Mar 31 '16 06:03 NathanHazout

cool! glad to hear that helped. I'll keep this open to remind myself to revisit this behavior the next time I'm working on gr

mixu avatar Mar 31 '16 06:03 mixu