go mod方式下载Beego以及Bee(windows和linux都差不多)

2023-11-10 22:10

本文主要是介绍go mod方式下载Beego以及Bee(windows和linux都差不多),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

更新

现在代理直接使用 go env -w GOPROXY=https://goproxy.cn,direct就好了,替换掉之前总是 set(export)


必要准备

首先需要下载git(下一个gitbash就好了)
其次需要一个github账号

创建项目文件夹

mkdir go_project 
cd go_project
go env -w GOPROXY=https://goproxy.cn,direct

初始化项目并替换Bee源

为什么要替换呢?下面是作者的原话
you’ll need to clone it over the original repo (that is best anyways, so you don’t have to refactor any code when this gets released in the original repo). Hope this works for you 😃:
意思就是不怕版本的变化对你bee 工具的影响

  • 首先将 github.com/beego/bee fork到自己的仓库下

在这里插入图片描述

  • 接着初始化刚刚最上面创建的项目
go mod init github.com/xxx/projectname

然后会在该目录下自动生成一个go.mod文件

  • 修改go.mod文件
module github.com/xxx/projectnamereplace github.com/beego/bee v1.10.0 => github.com/xxx/bee v1.10.0go 1.13

安装beego 和 bee

go get -u github.com/astaxie/beego
go get -u github.com/beego/bee

坑来了

在在下载beego的时候还是正常的,下载bee的时候,会报错

go: github.com/beego/bee importsgithub.com/beego/bee/cmd importsgithub.com/beego/bee/cmd/commands/dlv importsgithub.com/derekparker/delve/service: github.com/derekparker/delve@v1.3.
1: parsing go.mod:module declares its path as: github.com/go-delve/delvebut was required as: github.com/derekparker/delve

这个时候 只需要如下做就好了(后面不需要再export/set Go111MODULE=on 因为export/set这两种都只代表这一次执行)

export GO111MODULE=off && go get -u github.com/beego/bee

添加环境变量

在这里插入图片描述

测试

git bash进入项目并创建

cd go_project
bee api github.com/xxx/web_course_design

会看到

FATAL    ▶ 0001 There was an error running 'go version' command: exec:
"go": executable file not found in %PATH%

需要关闭gitbash窗口,用cmd管理员方式创建

C:\Users\xxx>cd /go_project
bee api github.com/xxx/web_course_design

显示

C:\go_project\web_course_design>
bee api github.com/xxx/web_course_design
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.10.0
2019/09/21 00:01:04 WARN     ▶ 0001 You current workdir is not inside $GOPATH/src.
2019/09/21 00:01:04 INFO     ▶ 0002 Creating API...create   C:\GoPath\src\github.com\lujiahaoo\web_course_designcreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\confcreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\controllerscreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\testscreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\conf\app.confcreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\modelscreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\routers\create   C:\GoPath\src\github.com\lujiahaoo\web_course_design\controllers\object.gocreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\controllers\user.gocreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\tests\default_test.gocreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\routers\router.gocreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\models\object.gocreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\models\user.gocreate   C:\GoPath\src\github.com\lujiahaoo\web_course_design\main.go
2019/09/21 00:01:04 SUCCESS  ▶ 0003 New API successfully created!

坑又来了

目前bee生成的项目只能安装在$GOPATH/src下的。。并不会安装在你刚刚创建的go_project下,此时只能在 dos下进入$GOPATH/src/projectname,我这里项目是在github.com目录下的
$GOPATH/src/github.com/web_course_design下,然后执行

go mod init github.com/xxx/web_course_design

这个时候使用bee run才成功。。。

C:\GoPath\src\github.com\lujiahaoo\web_course_design>bee run
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.10.0
2019/09/21 00:02:48 INFO     ▶ 0001 Using 'web_course_design' as 'appname'
2019/09/21 00:02:48 INFO     ▶ 0002 Initializing watcher...
go: finding github.com/shiena/ansicolor latest
github.com/lujiahaoo/web_course_design/models
github.com/lujiahaoo/web_course_design/controllers
github.com/lujiahaoo/web_course_design/routers
github.com/lujiahaoo/web_course_design
2019/09/21 00:02:57 SUCCESS  ▶ 0003 Built Successfully!
2019/09/21 00:02:57 INFO     ▶ 0004 Restarting 'web_course_design.exe'...
2019/09/21 00:02:57 SUCCESS  ▶ 0005 './web_course_design.exe' is running...
2019/09/21 00:02:58.662 [I] [parser.go:112]  generate router from comments
2019/09/21 00:02:58.703 [I] [router.go:270]  C:\GoPath\src\github.com\lujiahaoo\web_course_design\controllers no changed
2019/09/21 00:02:58.851 [I] [asm_amd64.s:1357]  http server Running on http://:8080
2019/09/21 00:03:07.626 [D] [server.go:2802]  |      127.0.0.1| 404 |     1.9946ms| nomatch| GET      /

浏览器访问 8080端口
在这里插入图片描述
成功

总结

在使用bee工具时

  • 提前go env -w GOPROXY=https://goproxy.cn,direct,否则会下载不了包
  • bee newbee api新建项目时取什么名,后面 go mod init就取什么名!

这篇关于go mod方式下载Beego以及Bee(windows和linux都差不多)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/385606

相关文章

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动