Files
full/scripts/install-tools.sh
2026-09-22 21:15:34 +08:00

37 lines
1.1 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
# 工具列表(从 go.mod 的 tool 指令中提取)
TOOLS=(
"git.apinb.com/bsm-tools/protoc-gen-markdown"
"git.apinb.com/bsm-tools/protoc-gen-slc"
"git.apinb.com/bsm-tools/protoc-gen-ts"
"github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway"
"github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2"
"github.com/pepabo/protoc-gen-go-client"
"google.golang.org/grpc/cmd/protoc-gen-go-grpc"
"google.golang.org/protobuf/cmd/protoc-gen-go"
)
echo "==> 开始安装 protoc 插件..."
for tool in "${TOOLS[@]}"; do
echo "--> 安装 $tool"
go install "$tool@latest"
done
echo "==> 全部安装完成。"
# 检查 GOBIN / GOPATH 是否在 PATH 中
BIN_DIR="$(go env GOBIN)"
if [ -z "$BIN_DIR" ]; then
BIN_DIR="$(go env GOPATH)/bin"
fi
echo
echo "工具安装目录: $BIN_DIR"
case ":$PATH:" in
*":$BIN_DIR:"*) echo "该目录已在 PATH 中,可直接使用。" ;;
*) echo "提示:请将 $BIN_DIR 添加到 PATH 环境变量中,例如:"
echo " export PATH=\"\$PATH:$BIN_DIR\"" ;;
esac