Skip to content

Instantly share code, notes, and snippets.

@devicezero
Last active June 2, 2021 13:25
Show Gist options
  • Save devicezero/b38ed48bccaef72a0ab24293552992d8 to your computer and use it in GitHub Desktop.
Save devicezero/b38ed48bccaef72a0ab24293552992d8 to your computer and use it in GitHub Desktop.
nvm cached
variables:
env:
# Update these for your desired NVM and Node versions.
NVM_VERSION: v0.38.0
NODE_VERSION: v12.22.1
hooks:
build: |
unset NPM_CONFIG_PREFIX
export NVM_DIR="$PLATFORM_APP_DIR/.nvm"
# check if the node version is already in cache
if [ -d "$PLATFORM_CACHE_DIR/.nvm/versions/node/$NODE_VERSION" ]; then
echo "using local nvm"
cp -R "$PLATFORM_CACHE_DIR/.nvm" "$PLATFORM_APP_DIR"
fi
# check for nvm, nvm version and node version
NVM_VERSION_CACHED=$(jq -r .version "$PLATFORM_CACHE_DIR/.nvm/package.json")
if [ "$NVM_VERSION_CACHED" != "${NVM_VERSION#?}" ] || [ ! -d "$PLATFORM_APP_DIR/.nvm/versions/node/$NODE_VERSION" ]; then
echo "nvm/node is different or not installed, (re)installing"
curl -f -o- "https://raw.githubusercontent.com/nvm-sh/nvm/$NVM_VERSION/install.sh" | dash
cp -R "$NVM_DIR" "$PLATFORM_CACHE_DIR"
fi
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# should be same as $NODE_VERSION
node -v
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment