Skip to content

Instantly share code, notes, and snippets.

@nordringrayhide
Forked from gudleik/.envrc
Created June 4, 2021 04:20
Show Gist options
  • Save nordringrayhide/c088f8f35c71a1c6b85c2e431f04ac6b to your computer and use it in GitHub Desktop.
Save nordringrayhide/c088f8f35c71a1c6b85c2e431f04ac6b to your computer and use it in GitHub Desktop.
Node.js direnv setup
# Either use node version specified in package.json
use node_from_package_json
# Or a specific version
use node 5.0.0
# Rest of direnv setup..
export FOO=BAR
use_node() {
layout node
NODE_VERSION=$1
NODE_INSTALLATION=${NODE_DIR:-/usr/local/n/versions/node}
if [ -x "$NODE_INSTALLATION/$NODE_VERSION/bin/node" ]; then
PATH_add $NODE_INSTALLATION/$NODE_VERSION/bin
elif [ -x "$NODE_INSTALLATION/v$NODE_VERSION/bin/node" ]; then
PATH_add $NODE_INSTALLATION/v$NODE_VERSION/bin
else
echo "!!! Node.js version $NODE_VERSION is not installed"
fi
}
# Requires jq: `brew install jq`
use_node_from_package_json() {
if [[ -f $PWD/package.json ]]; then
NODE_VERSION=`jq --raw-output .engines.node package.json | tr -d "<=> "`
use node $NODE_VERSION
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment