actions
actions copied to clipboard
fix: handle spaces in the path to "node" executable
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",