msojocs a603376125 弱化对宿主环境的要求;
更新赞赏支持名单
2022-03-16 16:01:49 +08:00

63 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -e
root_dir=$(cd `dirname $0`/.. && pwd -P)
# 获取配置
NODE_VERSION=$1
source "$root_dir/conf/node_info"
echo "NODE_VERSION:$NODE_VERSION"
echo "NODE_URL_CN:$NODE_URL_CN"
echo "NODE_URL_GLOBAL:$NODE_URL_GLOBAL"
# 检测安装
if [ -f $root_dir/node/bin/node ];then
# 存在,检测已有版本是否与要安装的版本一致
version=$($root_dir/node/bin/node --version)
if [ $version == "v$NODE_VERSION" ];then
echo "已安装NODE版本: v$NODE_VERSION"
exit 0
fi
# 不一致,装
fi
# ########未安装或已有版本与目标版本不一致########
# 下载
cache_dir="$root_dir/cache"
mkdir -p $cache_dir
if [ "$ACTION_MODE" == "true" ];then
echo "ACTION_MODE true"
url=$NODE_URL_GLOBAL
else
echo "ACTION_MODE false"
url=$NODE_URL_CN
fi
parse=(${url//\// })
localPath="$cache_dir/${parse[-1]}"
if [ ! -f $localPath ];then
# 不存在,下载
wget -c $url -O${localPath}.tmp
mv ${localPath}.tmp ${localPath}
fi
# 解压(下载完成或已存在)
tmp_dir="$root_dir/tmp"
mkdir -p $tmp_dir
extractPath="$tmp_dir/${parse[-1]}"
rm -rf $extractPath
mkdir -p $extractPath
tar xf $localPath -C $extractPath
# 升级
rm -rf "$root_dir/node"
ls $extractPath | xargs -I {} mv $extractPath/{} "$root_dir/node"
rm -rf $extractPath
if [ -d "$root_dir/nwjs" ];then
cd "$root_dir/nwjs"
rm -rf node node.exe
ln -s ../node/bin/node node
ln -s node node.exe
fi
echo "Succeeded upgrading node to version ${NODE_VERSION}"