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

相关文章

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

Redis事务与数据持久化方式

《Redis事务与数据持久化方式》该文档主要介绍了Redis事务和持久化机制,事务通过将多个命令打包执行,而持久化则通过快照(RDB)和追加式文件(AOF)两种方式将内存数据保存到磁盘,以防止数据丢失... 目录一、Redis 事务1.1 事务本质1.2 数据库事务与redis事务1.2.1 数据库事务1.

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Java中的密码加密方式

《Java中的密码加密方式》文章介绍了Java中使用MD5算法对密码进行加密的方法,以及如何通过加盐和多重加密来提高密码的安全性,MD5是一种不可逆的哈希算法,适合用于存储密码,因为其输出的摘要长度固... 目录Java的密码加密方式密码加密一般的应用方式是总结Java的密码加密方式密码加密【这里采用的

Java中ArrayList的8种浅拷贝方式示例代码

《Java中ArrayList的8种浅拷贝方式示例代码》:本文主要介绍Java中ArrayList的8种浅拷贝方式的相关资料,讲解了Java中ArrayList的浅拷贝概念,并详细分享了八种实现浅... 目录引言什么是浅拷贝?ArrayList 浅拷贝的重要性方法一:使用构造函数方法二:使用 addAll(

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服