2020-10-23 17:59:08 +03:00
|
|
|
#!/bin/bash -e -o pipefail
|
2023-11-28 02:25:03 +01:00
|
|
|
################################################################################
|
|
|
|
|
## File: install-nvm.sh
|
|
|
|
|
## Desc: Install node version manager
|
|
|
|
|
################################################################################
|
|
|
|
|
|
2020-09-10 14:34:08 +03:00
|
|
|
source ~/utils/utils.sh
|
|
|
|
|
|
2024-01-09 14:47:31 +01:00
|
|
|
[[ -n $API_PAT ]] && authString=(-H "Authorization: token ${API_PAT}")
|
2024-08-08 11:24:37 +02:00
|
|
|
|
|
|
|
|
nvm_version=$(get_toolset_value '.node.nvm_installer')
|
|
|
|
|
if [[ -z $nvm_version || "$nvm_version" == "latest" ]]; then
|
|
|
|
|
nvm_version=$(curl "${authString[@]}" -fsSL https://api.github.com/repos/nvm-sh/nvm/releases/latest | jq -r '.tag_name')
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ $nvm_version != "v*" ]]; then
|
|
|
|
|
nvm_version="v${nvm_version}"
|
|
|
|
|
fi
|
|
|
|
|
|
2023-11-30 13:39:32 +01:00
|
|
|
nvm_installer_path=$(download_with_retry "https://raw.githubusercontent.com/nvm-sh/nvm/$nvm_version/install.sh")
|
2020-09-10 14:34:08 +03:00
|
|
|
|
2024-01-09 14:47:31 +01:00
|
|
|
if bash $nvm_installer_path; then
|
|
|
|
|
source ~/.bashrc
|
2023-11-30 13:39:32 +01:00
|
|
|
nvm --version
|
|
|
|
|
for version in $(get_toolset_value '.node.nvm_versions[]'); do
|
|
|
|
|
nvm install "v${version}"
|
|
|
|
|
done
|
2021-02-16 12:42:01 +03:00
|
|
|
|
2023-11-30 13:39:32 +01:00
|
|
|
# set system node as default
|
|
|
|
|
nvm alias default system
|
|
|
|
|
echo "Node version manager has been installed successfully"
|
2020-09-10 14:34:08 +03:00
|
|
|
else
|
2023-11-30 13:39:32 +01:00
|
|
|
echo "Node version manager installation failed"
|
2020-09-10 14:34:08 +03:00
|
|
|
fi
|
|
|
|
|
|
2021-01-22 09:26:28 +03:00
|
|
|
invoke_tests "Node" "nvm"
|