-
-
Save trajakovic/ad9f91776dea3b495db0 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash | |
func_check_for_root() { | |
if [ ! $( id -u ) -eq 0 ]; then | |
echo "ERROR: $0 Must be run as root, Script terminating" ;exit 7 | |
fi | |
} | |
func_check_for_root | |
#SETUP PARAMS | |
NODE_VERSION="v5.10.1" | |
NODE_INT_VERSION="5101" | |
NODE_FILE=node-${NODE_VERSION}-linux-x64.tar.gz | |
NODE_FOLDER=node-${NODE_VERSION}-linux-x64 | |
NODE_URI="https://nodejs.org/dist/${NODE_VERSION}/${NODE_FILE}" | |
cd /usr/lib | |
if [[ ! -e "${NODE_FOLDER}" ]]; then | |
#install DevTools for NPM | |
dnf groupinstall -y 'Development Tools' | |
dnf install -y gcc-c++ | |
# get node | |
wget ${NODE_URI} | |
# extract | |
tar xvf ${NODE_FILE} | |
# remove tar | |
rm ${NODE_FILE} -f | |
# install alternatives | |
update-alternatives --install /usr/bin/node node /usr/lib/${NODE_FOLDER}/bin/node ${NODE_INT_VERSION} | |
update-alternatives --install /usr/bin/npm npm /usr/lib/${NODE_FOLDER}/bin/npm ${NODE_INT_VERSION} | |
# update $PATH to make `npm install -g` visible | |
cat <<EOF >> /home/${SUDO_USER:-$USER}/.bashrc | |
# added by https://gist.github.com/trajakovic/ad9f91776dea3b495db0 - NodeJs 'installer' | |
export PATH=\$PATH:/usr/lib/${NODE_FOLDER}/bin | |
EOF | |
else | |
echo Looks like node is already installed: | |
echo "" | |
update-alternatives --display node | |
fi |
Hi trajakovic,
Thank you for posting this! I'm new to node.js and found this helpful. Could you possibly post something on setting permissions and exporting the paths for this for Fedora 23?
Thank you again, GREAT WORK!
thanks for the tip
Looks like packages installed this way create wrong link to binary:
[root@localhost ~]# npm install -g browser-sync
/usr/lib/node-v5.6.0-linux-x64/bin/browser-sync -> /usr/lib/node-v5.6.0-linux-x64/lib/node_modules/browser-sync/bin/browser-sync.js
So you have to add /usr/lib/node-v5.6.0-linux-x64/bin
to your $PATH
in order to have browser-sync
command working.
You can install Node.js v5 with RPM package though: https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
Thank you, great work!
Thanks for this script. If you are interested I extended your work into an install script that accepts a command line option for the nodejs version number. And it now has command options for install, uninstall, and a path or removepath command to use as a normal user to add the PATH settings to the user's bashrc settings.
https://gist.github.com/bnielsen1965/722e8883c3b373d9c783e6b85e659a5f
run this with:
wget -qO- https://gist.githubusercontent.com/trajakovic/ad9f91776dea3b495db0/raw/fedora-install-nodejs.sh|sudo bash