nsnvm.sh (860B)
1 #!/bin/bash 2 3 dir="$HOME/.nsnvm" 4 version="$1" 5 referent="node-v$version-linux-x64" 6 nodejs_url="https://nodejs.org/dist/v$version/$referent.tar.xz" 7 8 error() { 9 echo "Error: $1" >&2 10 exit 1 11 } 12 13 if [ -z "$version" ]; then 14 error "No version number was provided" 15 fi 16 17 mkdir -p "$dir" 18 cd "$dir" 19 rm -f "$dir/$referent.tar.xz" 20 rm -rf "$dir/$referent" 21 22 wget "$nodejs_url" || error "Failed to download $nodejs_url" 23 tar xf "$referent.tar.xz" || error "Failed to extract $referent.tar.xz" 24 25 sudo rm -f /usr/bin/node 26 sudo rm -f /usr/bin/npm 27 sudo rm -f /usr/bin/npx 28 29 sudo ln -s "$dir/$referent/bin/node" "/usr/bin" || error "Failed to link node binary" 30 sudo ln -s "$dir/$referent/bin/npm" "/usr/bin" || error "Failed to link npm binary" 31 sudo ln -s "$dir/$referent/bin/npx" "/usr/bin" || error "Failed to link npx binary" 32 33 echo "Node.js $version has been installed." 34 35 exit 0