golang/goframe安装/升级
golang 2020-10-09 16:20:43

 

安装方式:

1、使用Go env命令设置Go的环境

C/C++ Code复制内容到剪贴板
  1. go env  

 

将其中两项参数的.org,换在.cn的

GOPROXY="https://proxy.golang.org,direct"

 

C/C++ Code复制内容到剪贴板
  1. go env -w GOPROXY=https://goproxy.cn,direct  

 

再执行go env看一下配置是不是完成了

 

还要设置GO111MODULE为on

C/C++ Code复制内容到剪贴板
  1. go env -w GO111MODULE=on  

 

设置完成后使用go env看一下 GOPROXY 和 GO111MODULE 是不是改好了

 


2、环境安装

https://goframe.org/pages/viewpage.action?pageId=1114274

 

安装对应架构的go环境

开发工具如果是使用vscode,下载:go / code runner 两个扩展即可 

 

3、安装GF工具链

 

官网:https://goframe.org/index

 

地址:https://github.com/gogf/gf-cli

工具安装:https://goframe.org/pages/viewpage.action?pageId=1115782

前提

确定自己当前项目的goframe依赖版本,查看自己的系统信息

go env GOOS

go env GOARCH

 

如果是zsh的终端,需要alias一下gf

PHP Code复制内容到剪贴板
  1. ## 安装  
  2. wget -O gf "https://github.com/gogf/gf/releases/latest/download/gf_$(go env GOOS)_$(go env GOARCH)" && chmod +x gf && ./gf install -y && rm ./gf  
  3.  
  4. ## 如果是zsh终端的话,其他的可忽略  
  5. alias gf=gf  
  6.   

 

gf install

I found some installable paths for you: 

  Id | Writable | Installed | Path

   0 |     true |      true | /usr/local/bin

please choose one installation destination [default 0]: 0

gf binary is successfully installed to: /usr/local/bin

 

默认就是选择0的安装位置

可使用帮助命令

gf help gen

gf gen -h 

 

version 工具版本查看

使用方式:

gf -v

gf -i

gf version
 

 

4、初始化项目

C/C++ Code复制内容到剪贴板
  1. gf init demo -u  

 

该命令创建一个工程脚手架目录,项目名称是demo,其中的-u参数用户指定是否更新项目中使用的goframe框架为最新版本。

iShot_2023-10-08_10.03.53.png

 

运行项目模板

项目模板可以执行以下命令运行: 

cd housekeep-go && gf run main.go

 

默认情况下项目会设置Web服务端口为8000、开启OpenAPI接口文档、展示Swagger接口文档页面,这些关键信息都会展示到终端。默认情况下,会打印所有的路由信息到终端,该项目模板只会添加一个仅供演示的路由:/hello。

默认路由: http://127.0.0.1:8000/hello

iShot_2023-10-08_10.09.16.png

 

5、升级GF框架

随时可以在项目根目录下(目录下有go.mod),执行以下命令更新使用最新的框架版本:

C/C++ Code复制内容到剪贴板
  1. gf up -a  

 

 


 

使用go mod(旧资料)

进入到项目目录,初始化生成go.mod 文件

C/C++ Code复制内容到剪贴板
  1. go mod init goframe  

(这里goframe名字也可以叫其他名字,一般为了与项目名称对应,就用项目名字)

 

以下可忽略:

可以看一下

C/C++ Code复制内容到剪贴板
  1. cat go.mod  

 

项目目录下会生成go.mod文件, 类似于python的requirements.txt文件。同时也生成一个go.sum文件,主要记载了下载包的哈希值用于校验,我们用不到

go.mod文件一旦创建后,它的内容将会被go toolchain全面掌控。

go toolchain会在各类命令执行时,比如执行go get、go build、go run、go mod等命令时,自动修改和维护go.mod文件,这点跟pip还是有区别的

 

go.mod 提供了module, require、replace和exclude 四个命令

module 语句指定包的名字(路径)

require 语句指定的依赖项模块

replace 语句可以替换依赖项模块

exclude 语句可以忽略依赖项模块

 

可以使用命令 go list -m -u all 来检查可以升级的package

使用go get -u need-upgrade-package 升级后会将新的依赖版本更新到go.mod文件中。

也可以使用 go get -u 升级所有依赖。

 

由于某些已知的原因,并不是所有的package都能成功下载,比如:golang.org下的包。

可以在 go.mod 文件中使用 replace 指令替换成github上对应的库,来下载相应的包。比如

replace (
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 => github.com/golang/cryptov0.0.0-20190701094942-4def268fd1a4
)

或者:

replace golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 => github.com/golang/crypto v0.0.0-20190701094942-4def268fd1a4

 

本文来自于:http://www.yoyo88.cn/study/golang/544.html

上一篇 返回列表
Powered by yoyo苏ICP备15045725号