diff options
| author | Felipe Baltor <[email protected]> | 2021-12-26 08:56:31 -0300 | 
|---|---|---|
| committer | GitHub <[email protected]> | 2021-12-26 12:56:31 +0100 | 
| commit | 5333cb3de320a13af7db305960247f66ec7f2624 (patch) | |
| tree | 609fe3042b6e364fb1d27d276d6381fe86f76f62 /utils/installer | |
| parent | a79de08d40f08e9a3b753175df11283ed737067c (diff) | |
fix(installer): more robust yarn validation (#2113)
Diffstat (limited to 'utils/installer')
| -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 | 
