error[E0599]: no method named `stdin_handle` found for type `duct::Expression` in the current scope
theserverkid opened this issue ยท 7 comments
Hello
I am trying to install click on windows. I have tried to install on windows CMD or WSL and have gotten the same error shown below.
Compiling click v0.4.2
error[E0599]: no method named stdin_handle
found for type duct::Expression
in the current scope
--> /home/xxxxx/.cargo/registry/src/github.com-1ecc6299db9ec823/click-0.4.2/src/output.rs:91:27
|
91 | let handle = expr.stdin_handle(pipe_read).start()?;
| ^^^^^^^^^^^^ help: there is a method with a similar name: stdin_file
Exact same error on MacOS on running cargo install click
.
Same on Linux.
Same. Is there any known workaround @nicklan ?
Changelog https://crates.io/crates/duct mentions in v0.13 "Renamed stdin_handle/stdout_handle/stderr_handle to stdin_file/stdout_file/stderr_file.", but click should be using 0.12 still...
Doing
- let handle = expr.stdin_handle(pipe_read).start()?;
+ let handle = expr.stdin_file(pipe_read).start()?;
makes it advance to a different error:
error[E0308]: mismatched types
--> src/output.rs:94:19
|
94 | expr: handle,
| ^^^^^^ expected struct `duct::Handle`, found a different struct `duct::Handle`
|
= note: expected type `duct::Handle` (struct `duct::Handle`)
found type `duct::Handle` (struct `duct::Handle`)
note: Perhaps two different versions of crate `duct` are being used?
--> src/output.rs:94:19
Thanks @nicklan! cargo install --path .
works for me now.
great. closing the issue. feel free to reopen if anyone encounters this still