diff options
Diffstat (limited to 'utils/installer/install.sh')
| -rwxr-xr-x | utils/installer/install.sh | 20 | 
1 files changed, 15 insertions, 5 deletions
| diff --git a/utils/installer/install.sh b/utils/installer/install.sh index cfedd777..1987a519 100755 --- a/utils/installer/install.sh +++ b/utils/installer/install.sh @@ -222,19 +222,29 @@ function __install_nodejs_deps_yarn() {  function __validate_node_installation() {    local pkg_manager="$1"    local manager_home -  manager_home="$($pkg_manager config get prefix 2>/dev/null)" + +  if ! command -v "$pkg_manager" &>/dev/null; then +    return 1 +  fi + +  if [ "$pkg_manager" == "npm" ]; then +    manager_home="$(npm config get prefix 2>/dev/null)" +  else +    manager_home="$(yarn global bin 2>/dev/null)" +  fi    if [ ! -d "$manager_home" ] || [ ! -w "$manager_home" ]; then -    echo "[ERROR] Unable to install without administrative privileges. Please set your NPM_HOME correctly and try again." -    exit 1 +    echo "[ERROR] Unable to install using [$pkg_manager] without administrative privileges." +    return 1    fi + +  return 0  }  function install_nodejs_deps() {    local -a pkg_managers=("yarn" "npm")    for pkg_manager in "${pkg_managers[@]}"; do -    if command -v "$pkg_manager" &>/dev/null; then -      __validate_node_installation "$pkg_manager" +    if __validate_node_installation "$pkg_manager"; then        eval "__install_nodejs_deps_$pkg_manager"        return      fi | 
