feat(installer): handle INSTALL_PREFIX not on PATH (#2912)

This commit is contained in:
kylo252 2022-08-19 12:02:15 +02:00 committed by GitHub
parent 7df4773b0b
commit 08b5e99f53
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

@ -26,6 +26,7 @@ declare ARGS_LOCAL=0
declare ARGS_OVERWRITE=0
declare ARGS_INSTALL_DEPENDENCIES=1
declare INTERACTIVE_MODE=1
declare ADDITIONAL_WARNINGS=""
declare -a __lvim_dirs=(
"$LUNARVIM_CONFIG_DIR"
@ -148,6 +149,7 @@ function main() {
setup_lvim
msg "$ADDITIONAL_WARNINGS"
msg "Thank you for installing LunarVim!!"
echo "You can start it by running: $INSTALL_PREFIX/bin/lvim"
echo "Do not forget to use a font with glyphs (icons) support [https://github.com/ryanoasis/nerd-fonts]"
@ -226,7 +228,25 @@ function validate_lunarvim_files() {
fi
}
function validate_install_prefix() {
local prefix="$1"
case $PATH in
*"$prefix/bin"*)
return
;;
esac
local profile="$HOME/.profile"
test -z "$ZSH_VERSION" && profile="$HOME/.zshenv"
ADDITIONAL_WARNINGS="[WARN] the folder $prefix/bin is not on PATH, consider adding 'export PATH=$prefix/bin:\$PATH' to your $profile"
# avoid problems when calling any verify_* function
export PATH="$prefix/bin:$PATH"
}
function check_system_deps() {
validate_install_prefix "$INSTALL_PREFIX"
if ! command -v git &>/dev/null; then
print_missing_dep_msg "git"
exit 1
@ -279,7 +299,6 @@ function __validate_node_installation() {
fi
if [ ! -d "$manager_home" ] || [ ! -w "$manager_home" ]; then
echo "[ERROR] Unable to install using [$pkg_manager] without administrative privileges."
return 1
fi
@ -294,21 +313,21 @@ function install_nodejs_deps() {
return
fi
done
print_missing_dep_msg "${pkg_managers[@]}"
exit 1
echo "[WARN]: skipping installing optional nodejs dependencies due to insufficient permissions."
echo "check how to solve it: https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally"
}
function install_python_deps() {
echo "Verifying that pip is available.."
if ! python3 -m ensurepip &>/dev/null; then
if ! python3 -m ensurepip >/dev/null; then
if ! python3 -m pip --version &>/dev/null; then
print_missing_dep_msg "pip"
exit 1
echo "[WARN]: skipping installing optional python dependencies"
return 1
fi
fi
echo "Installing with pip.."
for dep in "${__pip_deps[@]}"; do
python3 -m pip install --user "$dep"
python3 -m pip install --user "$dep" || return 1
done
echo "All Python dependencies are successfully installed"
}