Bladeren bron

fix(installer): check if npm-prefix is writable (#2091)

kylo252 3 jaren geleden
bovenliggende
commit
024c811133
1 gewijzigde bestanden met toevoegingen van 13 en 0 verwijderingen
  1. 13 0
      utils/installer/install.sh

+ 13 - 0
utils/installer/install.sh

@@ -210,6 +210,7 @@ function __install_nodejs_deps_npm() {
       npm install -g "$dep"
     fi
   done
+
   echo "All NodeJS dependencies are successfully installed"
 }
 
@@ -219,10 +220,22 @@ function __install_nodejs_deps_yarn() {
   echo "All NodeJS dependencies are successfully installed"
 }
 
+function __validate_node_installation() {
+  local pkg_manager="$1"
+  local manager_home
+  manager_home="$($pkg_manager config get prefix 2>/dev/null)"
+
+  if [ ! -d "$manager_home" ] || [ ! -w "$manager_home" ]; then
+    echo "[ERROR] Unable to install without administrative privilages. Please set you NPM_HOME correctly and try again."
+    exit 1
+  fi
+}
+
 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"
       eval "__install_nodejs_deps_$pkg_manager"
       return
     fi