From ffad183114d4456a2e61414025c1fed6615f77b5 Mon Sep 17 00:00:00 2001 From: "huyikun.hyk" Date: Wed, 17 Jan 2024 10:04:06 +0800 Subject: [PATCH] feat: check nodejs. --- script.sh | 55 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/script.sh b/script.sh index 349c5c7..00c1282 100755 --- a/script.sh +++ b/script.sh @@ -1,28 +1,33 @@ set -e # 报错后不继续执行 -LOCAL_VERSION=$(node -v) -REQUIRED_VERSION='v14.14.0' -echo 'Checking nodejs version, serverless-dev requires nodejs >= 14.14.0.' -echo "Local nodejs's version is" $LOCAL_VERSION. -function version_compare() { - if [[ "$1" == "$2" ]]; then - echo 0 # 本地版本等于要求版本 - return - fi - if [[ "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" == "$1" ]]; then - echo 1 # 本地版本小于要求版本 +if ! which node > /dev/null; then + echo "Node is not installed, serverless-dev requires nodejs >= 14.14.0." + echo "You can install it manually or add actions/setup-node@v4 before actions/setup-s-aliyun in your .yaml/.yml file." +else + LOCAL_VERSION=$(node -v) + REQUIRED_VERSION='v14.14.0' + echo 'Checking nodejs version, serverless-dev requires nodejs >= 14.14.0.' + echo "Local nodejs's version is" $LOCAL_VERSION. + function version_compare() { + if [[ "$1" == "$2" ]]; then + echo 0 # 本地版本等于要求版本 + return + fi + if [[ "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" == "$1" ]]; then + echo 1 # 本地版本小于要求版本 + else + echo 0 # 本地版本大于要求版本 + fi + } + result=$(version_compare "$LOCAL_VERSION" "$REQUIRED_VERSION") + if [ "$result" == 0 ]; then + echo 'Nodejs checked, serverless-devs installing.' + npm i @serverless-devs/s -g --registry=https://registry.npmmirror.com + s config add --AccountID $1 --AccessKeyID $2 --AccessKeySecret $3 -a $4 -f + echo '################################################' + echo 'Serverless-devs has been installed successfully.' + echo 'The access has been configured automatically, use "s config get" to check.' + echo '################################################' else - echo 0 # 本地版本大于要求版本 + echo "Serverless-dev requires nodejs >= 14.14.0, please update your local nodejs's version." fi -} -result=$(version_compare "$LOCAL_VERSION" "$REQUIRED_VERSION") -if [ "$result" == 0 ]; then - echo 'Nodejs checked, serverless-devs installing.' - npm i @serverless-devs/s -g --registry=https://registry.npmmirror.com - s config add --AccountID $1 --AccessKeyID $2 --AccessKeySecret $3 -a $4 -f - echo '################################################' - echo 'Serverless-devs has been installed successfully.' - echo 'The access has been configured automatically, use "s config get" to check.' - echo '################################################' -else - echo "Serverless-dev requires nodejs >= 14.14.0, please update your local nodejs's version." -fi \ No newline at end of file +fi