actions icon indicating copy to clipboard operation
actions copied to clipboard

fix: handle spaces in the path to "node" executable

Open pzhlkj6612 opened this issue 2 years ago • 0 comments

Original:

$ which node && node -e \
> '
>   require("child_process").exec(
>     require("which").sync("node")                      + " --version",
>     {},
>     (err, stdout) => {
>       if (err) throw err;
>       console.log(stdout);
>     },
>   )
> '
/home/test-nvm-with-spaces/ s p a c e /versions/node/v10.24.1/bin/node
[eval]:6
      if (err) throw err;
               ^

Error: Command failed: /home/test-nvm-with-spaces/ s p a c e /versions/node/v10.24.1/bin/node --version
/bin/sh: 1: /home/test-nvm-with-spaces/: Permission denied

New:

$ which node && node -e \
> '
>   require("child_process").exec(
>     require("which").sync("node").replace(/ /g, "\\ ") + " --version",
>     {},
>     (err, stdout) => {
>       if (err) throw err;
>       console.log(stdout);
>     },
>   )
> '
/home/test-nvm-with-spaces/ s p a c e /versions/node/v10.24.1/bin/node
v10.24.1

Diff:

- require("which").sync("node")                      + " --version",
+ require("which").sync("node").replace(/ /g, "\\ ") + " --version",

pzhlkj6612 avatar Feb 03 '22 04:02 pzhlkj6612