本文将描述如何在centos7 内使用shell脚本的方式全自动安装nodejs环境,从无到有仅需几秒钟(具体取决于网速),笔者在装了N次环境之后彻底厌烦了,宝贵的时间不应该浪费在重复的操作上!shell脚本本人也是初学,可能会存在很多不严谨的地方,但是脚本程序笔者已经在自己服务器测试了N次,如果你有什么好的建议以及代码贡献,可以在评论区留言交流
参数判断,目录检测
#脚本 xxx.sh /home/data/ 可以传递一个参数,指定安装目录,不如不传递参数默认安装至/home
if [ $# -eq 0 ] #判断参数是否为0
then
path="/home/" #安装目录定义为/home/
printf "\n正在下载SodeJS,未指定安装目录,默认安装至/home/node目录\n" #预下载提示,输出至控制台
else
path=$1 #参数不为0,将安装目录的变量定义为执行脚本的第一个参数
printf "\n正在下载SodeJS,下载完成后将安装至指定目录:${path}node!\n" #预下载提示,输出至控制台
if [ -e $path ] #判断所属服务器有没有安装目录
then
printf "\n目录已存在,将清空其node目录\n"
else
mkdir $path
printf "${path}目录不存在,将新建${path}目录\n"
fi
fi
初始化清理
rm -rf ${path}node # 删除安装目录下node目录
curl -o ${path}node.tar.gz https://cdn.npm.taobao.org/dist/node/v14.15.0/node-v14.15.0-linux-x64.tar.gz # 下载nodejs安装包,保存至安装目录下,并且重命名为node.tar.gz
解压安装包设置环境变量
# 定义安装方法
installMain(){
printf "下载完成,正在执行解压操作\n"
# 将安装包解压至安装目录内
tar -zxvf ${path}node.tar.gz -C ${path}
# 将解压出来的nodejs目录重命名为node
mv ${path}node-v14.15.0-linux-x64 ${path}node
printf "解压完毕,正在初始化配置项\n"
printf "正在清理nodeJS相关软链接文件,进行重新配置。\n"
# 预防以前安装过nodejs,清理残留的环境变量软链接,保证干净无残留
rm /usr/local/bin/node
rm /usr/local/bin/npm
rm /usr/local/bin/npx
# 直接设置软链接至环境变量中
ln -s ${path}node/bin/node /usr/local/bin/
ln -s ${path}node/bin/npm /usr/local/bin/
ln -s ${path}node/bin/npx /usr/local/bin/
# 清理安装包
rm ${path}node.tar.gz
printf "nodeJS安装配置完毕\n"
printf "nodeJS安装包清理完毕\n"
# 输出nodejs相关版本信息
printf "nodeJS版本【`node -v`】\nnpm版本【`npm -v`】\nnpx版本【`npx -v`】\n"
printf "前端不仅仅是JavaScript,如果你也是技术爱好者,欢迎来我的小站一起交流:http://yangrd.com/\n"
}
# 执行安装方法
installMain
完整源代码
if [ $# -eq 0 ]
then
path="/home/"
printf "\n正在下载SodeJS,未指定安装目录,默认安装至/home/node目录\n"
else
path=$1
printf "\n正在下载SodeJS,下载完成后将安装至指定目录:${path}node!\n"
if [ -e $path ]
then
printf "\n目录已存在,将清空其node目录\n"
else
mkdir $path
printf "${path}目录不存在,将新建${path}目录\n"
fi
fi
rm -rf ${path}node
curl -o ${path}node.tar.gz https://cdn.npm.taobao.org/dist/node/v14.15.0/node-v14.15.0-linux-x64.tar.gz
installMain(){
printf "下载完成,正在执行解压操作\n"
tar -zxvf ${path}node.tar.gz -C ${path}
mv ${path}node-v14.15.0-linux-x64 ${path}node
printf "解压完毕,正在初始化配置项\n"
printf "正在清理nodeJS相关软链接文件,进行重新配置。\n"
rm /usr/local/bin/node
rm /usr/local/bin/npm
rm /usr/local/bin/npx
ln -s ${path}node/bin/node /usr/local/bin/
ln -s ${path}node/bin/npm /usr/local/bin/
ln -s ${path}node/bin/npx /usr/local/bin/
rm ${path}node.tar.gz
printf "nodeJS安装配置完毕\n"
printf "nodeJS安装包清理完毕\n"
printf "nodeJS版本【`node -v`】\nnpm版本【`npm -v`】\nnpx版本【`npx -v`】\n"
printf "前端不仅仅是JavaScript,如果你也是技术爱好者,欢迎来我的小站一起交流:http://yangrd.com/\n"
}
installMain