summaryrefslogtreecommitdiff
path: root/utils/installer/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'utils/installer/install.sh')
-rwxr-xr-xutils/installer/install.sh20
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