I am using Emacs (config file) on macOS Monterey (12.5).
There is something that I do not understand. After being queried on a specific version of the program called sdkman sdk, eshell and macOS default terminal present different outputs!!
On MacOS default terminal:
pedro@Pedros-MacBook-Air learn-cljs % sdk v SDKMAN 5.15.0 Now, eshell returns a different output:
Welcome to the Emacs shell ~ $ cd projects/ ~/projects $ cd learn-cljs/ ~/projects/learn-cljs $ sdk -v sdk: command not found I am new to macOS but I have been using Emacs for a while on Linux machines. I was shocked by this behavior. I have never seen such asymmetry.
I know eshell has limited behavior compared to the default terminal even in Linux (for instance, htop does not work - by design). But this was a big surprise.
I have tried following @db48x's kind advice described below, but I can't make it work.
After using set-variable to tweak the value of exec-path, doing describe-variable on exec-path indicates:
("/opt/homebrew/bin" "/opt/homebrew/sbin" "/usr/local/bin" "/Users/pedro/.sdkman/candidates/java/current/bin" "/Users/pedro/.nvm/versions/node/v8.0.0/bin" "/usr/local/bin" "/usr/bin" "/bin" "/usr/sbin" "/sbin" "/opt/X11/bin" "/Applications/Emacs.app/Contents/MacOS/bin-arm64-11" "/Applications/Emacs.app/Contents/MacOS/libexec-arm64-11" "/Applications/Emacs.app/Contents/MacOS/libexec") As you see, SDKman is the fourth element on exec-path variable. However, eshell still indicates: sdk: command not found.
How can I solve this?