如何在windows下使用swaggo

本文详细介绍了在Linux和Windows环境下安装Swag的步骤。Linux下通过goget命令进行安装,若$GOROOT/bin未加入$PATH,需手动移动swag至$GOBIN。Windows下因无bin目录,需定位swag下载位置并执行goinstall生成swag.exe。文章提供了验证安装成功的具体方法。

在Linux下安装的流程

$ go get -u github.com/swaggo/swag/cmd/swag

若 $GOROOT/bin 没有加入$PATH中,你需要执行将其可执行文件移动到$GOBIN下

mv $GOPATH/bin/swag /usr/local/go/bin

验证是否安装成功
检查 $GOBIN 下是否有 swag 文件,如下:

$ swag -v
swag version v1.1.1

windows下的使用

windows下没有bin目录,首先我们需要找到swag的下载位置*…/github.com\swaggo\swag@v1.5.1\cmd\swag*
在该目录下执行go install 会生成swag.exe到gopath的主目录下。

这个swag.exe就可以用来执行swag init操作了。

#!/bin/bash basepath=$(cd `dirname $0`; pwd) cd ${basepath}/go-src/go-web/ go mod tidy go get github.com/swaggo/swag/cmd/swag go install github.com/swaggo/swag/cmd/swag swag init cp -r ./docs ${basepath}/config/go/go-web/ allStep=5 nowStep=0 echo "编译完成第 $nowStep 步,共 $allStep 步" go mod tidy (go build -o ${basepath}/go/bin/go-web main.go ) || exit $? nowStep=$((nowStep+1)) echo "编译完成第 $nowStep 步,共 $allStep 步" cd ${basepath}/aiot_updater rm -rf .git* chmod +x ./build.sh (./build.sh ) || exit $? nowStep=$((nowStep+1)) echo "编译完成第 $nowStep 步,共 $allStep 步" # 用于配置服务 cd ${basepath}/go-src/go-system-config/ go mod tidy swag init mkdir -p ${basepath}/config/go/go-system-config/ cp -r ./docs ${basepath}/config/go/go-system-config/ cp -r ./config/application.yaml ${basepath}/config/go/go-system-config/ go mod tidy (go build -o ${basepath}/go/bin/go-system-config main.go ) || exit $? nowStep=$((nowStep+1)) echo "编译完成第 $nowStep 步,共 $allStep 步" # 用于监控服务 cd ${basepath}/go-src/go-monitoring/ go mod tidy swag init mkdir -p ${basepath}/config/go/go-monitoring/ cp -r ./docs ${basepath}/config/go/go-monitoring/ cp -r ./config/application.yaml ${basepath}/config/go/go-monitoring/ go mod tidy (go build -o ${basepath}/go/bin/go-monitoring main.go ) || exit $? nowStep=$((nowStep+1)) echo "编译完成第 $nowStep 步,共 $allStep 步" # 用于svg-service cd ${basepath}/go-src/svg-service/ # 定义源目录和目标目录 SOURCE_DIR="./resource/static" TARGET_DIR="$ECITYOS_ROOT/app/supaiot/static" TARGET2_DIR="$ECITYOS_ROOT/app/ecityos-iot/static" JS_SOURCE_DIR="$SOURCE_DIR/js" JS_TARGET_DIR="$TARGET_DIR/js" # 检查目标目录是否存在,如果不存在则创建 mkdir -p "$TARGET_DIR" # 复制除了js目录之外的所有文件和目录 cp -R "$SOURCE_DIR/css" "$TARGET_DIR" cp -R "$SOURCE_DIR/favicon.ico" "$TARGET_DIR" # 检查js源目录是否存在 if [ -d "$JS_SOURCE_DIR" ]; then # 确保目标js目录存在 mkdir -p "$JS_TARGET_DIR" cp "$JS_SOURCE_DIR"/*.jsx "$JS_TARGET_DIR/" # 遍历js目录下的所有js文件 for file in "$JS_SOURCE_DIR"/*.js; do # 提取文件名(不包括路径) filename=$(basename -- "$file") # 使用临时文件名来避免直接覆盖源文件时的潜在问题 tmp_file="$JS_SOURCE_DIR/.$filename.tmp" # 压缩js文件到临时文件 uglifyjs "$file" -o "$tmp_file" -m -c # 如果压缩成功,将临时文件重命名为原文件名(覆盖原文件) if [ $? -eq 0 ]; then mv "$tmp_file" "$file" # 将压缩后的文件复制到目标目录 cp "$file" "$JS_TARGET_DIR/" else echo "压缩文件 $file 失败,跳过。" fi done else echo "源目录中的js文件夹不存在,跳过js文件压缩和复制。" fi mkdir -p "$TARGET2_DIR" cp "$TARGET_DIR"/* "$TARGET2_DIR" go mod tidy (go build -o ${basepath}/go/bin/svg-service main.go ) || exit $? nowStep=$((nowStep+1)) echo "编译完成第 $nowStep 步,共 $allStep 步" 把这个shell脚本修改成windows的minGW和Linux 都适用的版本
最新发布
03-20
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值