This commit is contained in:
2025-06-20 17:13:51 +08:00
parent 1b55403cd6
commit fd0345a034
472 changed files with 52560 additions and 77 deletions

View File

@@ -0,0 +1,89 @@
#!/bin/bash
###############################################################################
# Install Golang 安装Golang,仅限linux系统. #
# Author: LiDong #
# Email: cnlidong@live.cn #
# Date: 2022-08-15 #
###############################################################################
# 出错退出
set -e
# 进入脚本所在目录
# 获取第一个参数设为版本号
VERSION=$1
# 判断版本号参数是否为空
if [ -z "$VERSION" ]; then
echo "Usage: $0 VERSION [mirror]"
echo "Example: $0 1.19.2 https://mirrors.aliyun.com/golang"
echo "You can visit https://go.dev/dl/ to find version"
exit 1
fi
echo "version: $VERSION"
# 获取第二个参数为镜像地址前缀
PREFIX=$2
# 判断镜像地址前缀参数是否为空
if [ -z "$PREFIX" ]; then
PREFIX="https://go.dev/dl"
fi
echo "prefix: $PREFIX"
# 判断当前用户是否为root不是则退出
if [ "$(id -u)" != "0" ]; then
echo "Error: This script must be run as root."
echo "You can use 'sudo su' command switch to root "
exit 1
fi
# 安装Golang
echo "Install Golang..."
# 获取当前操作系统
OS=$(uname)
# 判断是否是Linux系统,如果不是则退出
if [ $OS != "Linux" ]; then
echo "Not Linux system, exit..."
exit
else
OS="linux"
fi
# 获取CPU类型
ARCH=$(uname -m)
# 转换CPU类型为go env arch格式
if [ $ARCH = "x86_64" ]; then
ARCH="amd64"
elif [ $ARCH = "i686" ]; then
ARCH="386"
elif [ $ARCH = "armv6l" ]; then
ARCH="armv6l"
elif [ $ARCH = "aarch64" ]; then
ARCH="arm64"
else
echo "Not support CPU, exit..."
exit
fi
# 安装Golang
echo "Download Golang..."
echo $PREFIX/go${VERSION}.$OS-$ARCH.tar.gz
curl -L $PREFIX/go${VERSION}.$OS-$ARCH.tar.gz -o /tmp/go${VERSION}.$OS-$ARCH.tar.gz
tar -C /usr/local -xzf /tmp/go${VERSION}.$OS-$ARCH.tar.gz
# 删除临时文件
rm -f /tmp/go${VERSION}.$OS-$ARCH.tar.gz
# 配置环境变量
echo 'export PATH=$PATH:/usr/local/node/bin' >>/etc/profile
echo 'export PATH=$PATH:/usr/local/go/bin' >>/etc/profile
source /etc/profile
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >>/etc/profile
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
source /etc/profile
# 安装成功
echo "Install Golang success!"
# 查看Golang版本
go version
# 提示重启终端
echo "Please restart the terminal to take effect!"
echo "安装成功,请重启终端使其生效!"
echo "You can use 'source /etc/profile' command to make the PATH changes effective immediately."
echo "你可以使用 'source /etc/profile' 命令使其立即生效."

View File

@@ -0,0 +1,75 @@
#!/bin/bash
# Install Node.js on linux x86_64
# 出错时停止
set -e
# 判断当前操作系统是否为Linux,如果不是则退出
if [ "$(uname)" != "Linux" ]; then
echo "Error: This script only supports Linux."
exit 1
fi
# 获取当前CPU架构
ARCH=$(uname -m)
# 判断当前CPU架构是否为x86_64,如果不是则退出
if [ "$ARCH" != "x86_64" ]; then
echo "Error: This script only supports x86_64."
exit 1
fi
# 判断当前是否为root,如果不是则退出
if [ "$(id -u)" != "0" ]; then
echo "Error: This script must be run as root."
echo "You can use 'sudo su' command switch to root "
exit 1
fi
# 获取第一个参数为版本号
VERSION=$1
# 校验版本号
if [ -z "$VERSION" ]; then
echo "Usage: $0 VERSION"
echo "Example: $0 18.12.0"
echo "You can visit https://nodejs.org/en/download/ to find version"
exit 1
fi
# 校验版本号格式
if ! echo "$VERSION" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+$'; then
echo "Invalid version: $VERSION, should be like 1.2.3"
exit 1
fi
# 下载安装包
wget https://nodejs.org/dist/v$VERSION/node-v$VERSION-linux-x64.tar.xz
# 解压
tar -xvf node-v$VERSION-linux-x64.tar.xz
# 移动到 /usr/local
mv node-v$VERSION-linux-x64 /usr/local/node
# 添加到环境变量
echo 'export PATH=$PATH:/usr/local/node/bin' >>/etc/profile
# 使环境变量生效
source /etc/profile
# 删除安装包
rm node-v$VERSION-linux-x64.tar.xz
# 查看版本
node -v
npm -v
# 激活yarn
corepack enable
# 配置淘宝镜像
npm config set registry https://registry.npmmirror.com
# 查看配置
npm config list
# 提示安装成功
echo "Node.js $VERSION installed successfully."
# 提示用户重启终端
echo "Please restart your terminal to make the PATH changes effective."
echo "You can use 'source /etc/profile' command to make the PATH changes effective immediately."