fix: don't use Command::new(bin_name) as it won't work on Windows #750
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Standards checklist:
CONTRIBUTING.md
cargo build
)cargo fmt
)cargo clippy
)cargo test
)For new steps
--dry-run
option works with this step--yes
option works with this step if it is supported bythe underlying command
If you developed a feature or a bug fix for someone else and you do not have the
means to test it, please tag this person here.
What does this PR do
On Windows, involving a command using
Command::new("binary_name")
can fail with errorCommand not found
even though the corresponding binary is installed and put somewhere under$PATH
, for example, #720.There is a Rust issue for it: rust-lang/rust#37519
A workaround is to use the
which
crate, which works in a way closer to how PowerShell handles cmd resolution, Topgrade's helper functionrequire()
useswhich()
under the hood, so this PR replaces thoseCommand::new("binary-name-string")
withCommand::new(a_path_returned_from_which)
.Closes #720