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"
|
||||
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]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.115"
|
||||
|
|
@ -1087,6 +1096,7 @@ checksum = "158fe5b292746440aa6e7a7e690e55aeb72d41505e2804c23c6973ad0e9c9781"
|
|||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"openssl-src",
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ rusqlite = { version = "0.32", features = ["bundled"] }
|
|||
toml = "0.8"
|
||||
|
||||
# HTTP client (for Forgejo API)
|
||||
reqwest = { version = "0.12", features = ["json"] }
|
||||
reqwest = { version = "0.12", features = ["json", "native-tls-vendored"] }
|
||||
|
||||
# Logging
|
||||
tracing = "0.1"
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ impl SshExecutor {
|
|||
cmd.arg("-i").arg(key);
|
||||
}
|
||||
cmd.arg(format!("{}@{}", host.ssh_user, host.hostname))
|
||||
.arg(command);
|
||||
.arg(format!("source ~/.profile 2>/dev/null; {command}"));
|
||||
cmd
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue