Just posting here to help others. If you try to run a command with current_dir and you get an error saying "No such file or directory" it's not necessarily the dir path that doesn't exist - it may be the command itself (i. e. the command is not in PATH).
Command::new("this_command_does_not_exist")
.current_dir("some/valid/path")
.spawn()
.expect("command failed to run");
thread 'main' panicked at 'command failed to run: Os { code: 2, kind: NotFound, message: "No such file or directory" }'
Should I file an issue somewhere?