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

This commit is contained in:
kylo252 2021-12-20 09:00:04 +01:00 committed by GitHub
parent f1ca79e628
commit 024c811133
WARNING! Although there is a key with this ID in the database it does not verify this commit! This commit is SUSPICIOUS.
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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