fix: SSH executor uses source ~/.profile for remote PATH
SSH non-interactive sessions don't load .profile, causing 'claude: command not found'. Prepend 'source ~/.profile 2>/dev/null;' to ensure user PATH is available. Verified: end-to-end test passed (arm0 → WSL2 Claude Code, 77s execution).
This commit is contained in:
parent
d1a746a8cb
commit
01f5fac718
3 changed files with 12 additions and 2 deletions
10
Cargo.lock
generated
10
Cargo.lock
generated
|
|
@ -1079,6 +1079,15 @@ version = "0.2.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
|
checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "openssl-src"
|
||||||
|
version = "300.6.0+3.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a8e8cbfd3a4a8c8f089147fd7aaa33cf8c7450c4d09f8f80698a0cf093abeff4"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openssl-sys"
|
name = "openssl-sys"
|
||||||
version = "0.9.115"
|
version = "0.9.115"
|
||||||
|
|
@ -1087,6 +1096,7 @@ checksum = "158fe5b292746440aa6e7a7e690e55aeb72d41505e2804c23c6973ad0e9c9781"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"libc",
|
"libc",
|
||||||
|
"openssl-src",
|
||||||
"pkg-config",
|
"pkg-config",
|
||||||
"vcpkg",
|
"vcpkg",
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ rusqlite = { version = "0.32", features = ["bundled"] }
|
||||||
toml = "0.8"
|
toml = "0.8"
|
||||||
|
|
||||||
# HTTP client (for Forgejo API)
|
# HTTP client (for Forgejo API)
|
||||||
reqwest = { version = "0.12", features = ["json"] }
|
reqwest = { version = "0.12", features = ["json", "native-tls-vendored"] }
|
||||||
|
|
||||||
# Logging
|
# Logging
|
||||||
tracing = "0.1"
|
tracing = "0.1"
|
||||||
|
|
|
||||||
|
|
@ -130,7 +130,7 @@ impl SshExecutor {
|
||||||
cmd.arg("-i").arg(key);
|
cmd.arg("-i").arg(key);
|
||||||
}
|
}
|
||||||
cmd.arg(format!("{}@{}", host.ssh_user, host.hostname))
|
cmd.arg(format!("{}@{}", host.ssh_user, host.hostname))
|
||||||
.arg(command);
|
.arg(format!("source ~/.profile 2>/dev/null; {command}"));
|
||||||
cmd
|
cmd
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue