开箱即用的GO后台管理系统 Kratos Admin - 如何搭建开发环境

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
函数计算FC,每月15万CU 3个月
简介: Kratos Admin 是一个开箱即用的 GO 后台管理系统。本文介绍如何搭建其开发环境,涵盖前端和后端所需工具与插件的安装配置。前端需安装 Git、VS Code、WebStorm、Node.js 等,并配置 npm/pnpm 源;后端则需安装 Go、Docker、Goland 等工具,配置 Golang 代理并安装 Protobuf 插件。项目代码托管于 [Gitee](https://gitee.com/tx7do/kratos-admin) 和 [Github](https://github.com/tx7do/kratos-admin)。

开箱即用的GO后台管理系统 Kratos Admin - 如何搭建开发环境

如何搭建前端开发环境

安装开发工具

需要安装的软件有:

Windows

Windows下安装软件的方法有很多种,这里推荐使用软件包管理工具:scoop

scoop bucket add extras
scoop install git vscode webstorm nodejs pnpm

MacOS

MacOS下安装软件的方法有很多种,这里推荐使用软件包管理工具:Homebrew

brew install git node pnpm
brew install --cask visual-studio-code webstorm

安装插件

前端需要的插件主要是Protobuf的插件:

安装方法:

Dart

flutter pub global activate protoc_plugin

TypeScript

npm install -g ts-proto

npm/pnpm/yarn切换源

  • 国内镜像
提供商 搜索地址 registry地址
淘宝 https://npmmirror.com/ https://registry.npmmirror.com
腾讯云 http://mirrors.cloud.tencent.com/npm/
华为云 https://mirrors.huaweicloud.com/repository/npm
浙江大学 http://mirrors.zju.edu.cn/npm/
南京邮电 https://mirrors.njupt.edu.cn/nexus/repository/npm/

npm

# 查看源
npm get registry
npm config get registry

# 临时修改
npm --registry https://registry.npmmirror.com install any-touch

# 永久修改
npm config set registry https://registry.npmmirror.com

# 还原
npm config set registry https://registry.npmjs.org

nrm

# 安装 nrm
npm install -g nrm

# 列出当前可用的所有镜像源
nrm ls

# 使用淘宝镜像源
nrm use taobao

# 测试访问速度
nrm test taobao

pnpm

# 查看源
pnpm get registry
pnpm config get registry

# 临时修改
pnpm --registry https://registry.npmmirror.com install any-touch

# 永久修改
pnpm config set registry https://registry.npmmirror.com

# 还原
pnpm config set registry https://registry.npmjs.org

yarn

# 查看源
yarn config get registry

# 临时修改
yarn add any-touch@latest --registry=https://registry.npmjs.org/

# 永久修改
yarn config set registry https://registry.npmmirror.com/

# 还原
yarn config set registry https://registry.yarnpkg.com

yrm

# 安装 yrm
npm install -g yrm

# 列出当前可用的所有镜像源
yrm ls

# 使用淘宝镜像源
yrm use taobao

# 测试访问速度
yrm test taobao

如何搭建后端开发环境

安装开发工具

需要安装的软件有:

Windows

Windows下安装软件的方法有很多种,这里推荐使用软件包管理工具:scoop

一键安装所有的开发软件:

scoop bucket add extras
scoop install git vscode goland docker go protobuf make buf gawk grep sed

MacOS

MacOS下安装软件的方法有很多种,这里推荐使用软件包管理工具:Homebrew

brew install git docker go protobuf make buf gawk grep gnu-sed
brew install --cask visual-studio-code goland

安装插件

后端需要的插件主要是Protobuf的插件:

安装方法:

go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install github.com/go-kratos/kratos/cmd/protoc-gen-go-http/v2@latest
go install github.com/go-kratos/kratos/cmd/protoc-gen-go-errors/v2@latest
go install github.com/google/gnostic/cmd/protoc-gen-openapi@latest
go install github.com/envoyproxy/protoc-gen-validate@latest

或者你可以在项目的根目录下执行make,该命令会把前后端的插件都装好的:

make plugin

Golang设置网络代理

打开模块支持

go env -w GO111MODULE=on

取消代理

go env -w GOPROXY=direct

取消校验

go env -w GOSUMDB=off

设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选)

go env -w GOPRIVATE=git.mycompany.com,github.com/my/private

设置代理

国内常用代理列表
提供者 地址
官方全球代理 https://proxy.golang.com.cn
七牛云 https://goproxy.cn
阿里云 https://mirrors.aliyun.com/goproxy/
GoCenter https://gocenter.io
百度 https://goproxy.bj.bcebos.com/

“direct” 为特殊指示符,用于指示 Go 回源到模块版本的源地址去抓取(比如 GitHub 等),当值列表中上一个 Go module proxy 返回
404 或 410 错误时,Go 自动尝试列表中的下一个,遇见 “direct” 时回源,遇见 EOF 时终止并抛出类似 “invalid version: unknown
revision...” 的错误。

官方全球代理
go env -w GOPROXY=https://proxy.golang.com.cn,direct
go env -w GOSUMDB=sum.golang.google.cn

或者

go env -w GOPROXY=https://goproxy.io,direct
go env -w GOSUMDB=gosum.io+ce6e7565+AY5qEHUk/qmHc5btzW45JVoENfazw8LielDsaI+lEbq6
七牛云
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=goproxy.cn/sumdb/sum.golang.org
阿里云
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
# GOSUMDB 不支持
GoCenter
go env -w GOPROXY=https://gocenter.io,direct
# 不支持 GOSUMDB
百度
go env -w GOPROXY=https://goproxy.bj.bcebos.com/,direct
# 不支持 GOSUMDB

warning: go env -w GOPROXY=... does not override conflicting OS environment variable

原因:

之前安装go的时候,用环境变量的方式设置过代理地址,go13提供了-w参数来设置GOPROXY变量,但无法覆盖OS级别的环境变量

解决方法:

unset GOPROXY

# or 

Clear-Variable GOPROXY

项目代码

目录
相关文章
|
4天前
|
前端开发 安全 API
自动化解放双手:初学者用 go-kratos-admin + protoc-gen-typescript-http 生成前端接口,快速搭建企业级 Admin 系统
简介:本文介绍如何使用 go-kratos-admin 与 protoc-gen-typescript-http 搭建企业级 Admin 系统。通过 Protobuf 驱动生成前端类型安全的接口代码,实现前后端高效协同,降低开发门槛,提升开发效率,适合初学者快速构建全栈项目。
121 4
|
6月前
|
JSON 前端开发 Java
开箱即用的GO后台管理系统 Kratos Admin - 交互式API文档 Swagger UI
Kratos Admin 集成 Swagger UI,实现交互式 API 文档。通过 Buf 生成 OpenAPI 规范,并内嵌至服务,自动同步接口变动,提升调试与协作效率。
318 0
开箱即用的GO后台管理系统 Kratos Admin - 交互式API文档 Swagger UI
|
6月前
|
前端开发 安全 Go
开箱即用的GO后台管理系统 Kratos Admin - 如何上传文件
Kratos Admin 是一个开箱即用的 Go 语言后台管理系统,支持通过 MinIO 实现高效文件上传。系统提供两种上传方式:一是通过预签名 URL 直接上传至 MinIO,减轻服务压力;二是通过 Kratos 微服务中转上传。前者推荐使用,具备安全、高效、易扩展等优点。文章详细介绍了两种方式的实现代码及前后端交互流程,并附有完整项目源码供参考。
273 1
|
6月前
|
SQL 中间件 Go
开箱即用的GO后台管理系统 Kratos Admin - 后端项目结构说明
Kratos Admin 是一个开箱即用的 Go 语言后台管理系统,采用 Kratos 框架构建,提供清晰的项目结构与模块化设计。目录包含 API 定义、服务代码、配置文件、数据库初始化脚本及部署工具,支持 Docker 部署与自动化构建,便于快速开发和维护企业级应用。
259 1
|
6月前
|
SQL Go 数据库
开箱即用的GO后台管理系统 Kratos Admin - 代码生成工具集
Kratos Admin 是一款开箱即用的 Go 后台管理系统,配套代码生成工具集(cfgexp、sql2orm、sql2proto、sql2kratos),支持配置导出、数据库转 ORM、Protobuf 及 Kratos 微服务代码生成,助力高效开发。
263 0
|
10月前
|
SQL JSON 关系型数据库
开箱即用的GO后台管理系统 Kratos Admin - 列表查询规则
Kratos Admin 是一个开箱即用的GO后台管理系统,支持通用列表查询请求。通过 `page`、`pageSize`、`query`(AND过滤)、`or`(OR过滤)、`orderBy`(排序)、`noPaging`(不分页)和 `fieldMask`(字段掩码)等参数,灵活配置查询条件。过滤规则遵循Python ORM风格,支持多种查找类型如 `in`、`gte`、`icontains` 等,适用于不同数据库。
176 0
|
6月前
|
JSON 前端开发 API
开箱即用的GO后台管理系统 Kratos Admin - API管理
Protobuf具有序列化后数据量更小、序列化/反序列化速度更快、更简单的特性;而JSON则相反,序列化后数据量较大,序列化和反序列化速度不优的特性,但是前端对JSON是原生支持,对前端极其友好。那么,我们可以在服务之间使用gRPC进行通讯,服务与前端之间可以通过RESTfull进行通讯。
230 0
|
6月前
|
JSON Cloud Native Go
开箱即用的GO后台管理系统 Kratos Admin - 后端权限控制
后端的权限控制主要分为两种: API权限控制; 数据权限控制。 在本文,我们不讨论数据权限的控制,主要讲API的权限控制。
475 0
|
前端开发 Go API
开箱即用的GO后台管理系统 Kratos Admin - 前端权限控制
Kratos Admin 是一个开箱即用的 GO 后台管理系统,前端权限管理分为路由和按钮权限。路由权限支持后端动态生成和前端固定配置两种方式,通过 `.env` 文件配置 `VITE_ROUTER_ACCESS_MODE` 实现。按钮权限可通过权限码或角色控制,支持组件、API 和指令三种方式。项目代码托管于 Gitee 和 Github。
350 0
|
5天前
|
前端开发 Go API
开箱即用的GO后台管理系统 Kratos Admin - 数据脱敏和隐私保护
Kratos Admin 基于 Protobuf 实现开箱即用的数据脱敏,通过注解定义规则,自动生成 Go 脱敏代码,零侵入保护手机号、身份证等敏感信息。支持微服务接口、日志、前端返回等场景,确保隐私合规,提升系统安全性与开发效率。
66 7