[Fix] Enhance nvm debug for different environments
diff --git a/nvm.sh b/nvm.sh
index e9bd537..cea5a8b 100644
--- a/nvm.sh
+++ b/nvm.sh
@@ -2446,13 +2446,35 @@
nvm_err "wget: not found"
fi
- for tool in git grep awk sed cut basename rm mkdir xargs; do
+ local TEST_TOOLS ADD_TEST_TOOLS
+ TEST_TOOLS="git grep awk"
+ ADD_TEST_TOOLS="sed cut basename rm mkdir xargs"
+ if [ "darwin" != "$(nvm_get_os)" ] && [ "freebsd" != "$(nvm_get_os)" ]; then
+ TEST_TOOLS="${TEST_TOOLS} ${ADD_TEST_TOOLS}"
+ else
+ for tool in ${ADD_TEST_TOOLS} ; do
+ if nvm_has "${tool}"; then
+ nvm_err "${tool}: $(nvm_command_info "${tool}")"
+ else
+ nvm_err "${tool}: not found"
+ fi
+ done
+ fi
+ for tool in ${TEST_TOOLS} ; do
+ local NVM_TOOL_VERSION
if nvm_has "${tool}"; then
- nvm_err "${tool}: $(nvm_command_info ${tool}), $(command ${tool} --version | command head -n 1)"
+ if command ls -l "$(nvm_command_info "${tool}" | command awk '{print $1}')" | command grep -q busybox; then
+ NVM_TOOL_VERSION="$(command "${tool}" --help 2>&1 | command head -n 1)"
+ else
+ NVM_TOOL_VERSION="$(command "${tool}" --version 2>&1 | command head -n 1)"
+ fi
+ nvm_err "${tool}: $(nvm_command_info "${tool}"), ${NVM_TOOL_VERSION}"
else
nvm_err "${tool}: not found"
fi
+ unset NVM_TOOL_VERSION
done
+ unset TEST_TOOLS ADD_TEST_TOOLS
local NVM_DEBUG_OUTPUT
for NVM_DEBUG_COMMAND in 'nvm current' 'which node' 'which iojs' 'which npm' 'npm config get prefix' 'npm root -g'