美文网首页
Go 项目运行记录

Go 项目运行记录

作者: 刘_小_二 | 来源:发表于2022-02-25 16:17 被阅读0次

(仅供自己记录学习)

1. 项目结构

.
├── cloud
│   └── cloud_service
│       ├── actions
│       ├── cloud-service-config.toml
│       ├── cmd
│       ├── lib
│       ├── main.go
│       ├── protocol
│       └── server
├── common
│   ├── device
│   ├── js
│   ├── models
├── fog
│   └── fog_service
│       ├── actions
│       ├── cmd
│       ├── fog-service-config.toml
│       ├── lib
│       ├── main.go
│       ├── protocol
│       └── server
└── fog2
    └── fog_service
        ├── actions
        ├── cmd
        ├── common
        ├── fog2-service-config.toml
        ├── jiai
        ├── lib
        ├── main.go
        ├── protocol
        └── server

2. 根据项目包名初始化

【初始化】1. go mod init

// 1.cd 到项目nurse层.xxx为项目包名,当前为(xxxx.com/nurse)
go mod init xxxx.com/nurse

【初始化】2.安装项目所需所有依赖

// 2.运行所有安装依赖
go mod tidy      

【问题-01】

安装依赖时显示该项问题

go: cloud/cmd imports
        gopkg.in/urfave/cli.v2: gopkg.in/urfave/cli.v2@v2.3.0: parsing 
        module declares its path as: github.com/urfave/cli/v2
                but was required as: gopkg.in/urfave/cli.v2

解决方案:点击打开go.mod文件,在中加入

replace gopkg.in/urfave/cli.v2 v2.3.0 => github.com/urfave/cli/v2 v2.3.0

如下:

module ktcatv.com/nurse

replace gopkg.in/urfave/cli.v2 v2.3.0 => github.com/urfave/cli/v2 v2.3.0

go 1.16

然后,在输入

go mod tidy 

安装所需依赖。

【问题-02】

在进行项目运行时,输入

go run main.go

会将当前文件中出现问题的内容报红,问题位置:

func newWithSeconds() *cron.Cron {
    secondParser := cron.NewParser(cron.Second | cron.Minute |
        cron.Hour | cron.Dom | cron.Month | cron.DowOptional | cron.Descriptor)
    return cron.New(cron.WithParser(secondParser), cron.WithChain())
}

报错内容是:WithParser和WithChain提示未定义;造成的原因是,在安装所以依赖时,“github.com/robfig/cron”依赖版本较低为1.2.14。后重新安装该第三方依赖。

解决方案:

删除当前报错文件中的引用,修改为"github.com/robfig/cron/v3"。然后运行

go mod tidy 

安装完成后,即解决该问题。

3. 项目第三方依赖明显

    // 配置文件解析
    github.com/BurntSushi/toml v1.0.0
    // 数据校验
    github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d
    // redis配置
    github.com/garyburd/redigo v1.6.3
    // 定时任务计划
    github.com/robfig/cron/v3 v3.0.1
    // mongoDB数据库
    gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22
    // 命令行工具cli
    gopkg.in/urfave/cli.v2 v2.3.0

4. 项目运行

4.1 升级Go版本环境

在安装第三方依赖中有时需升级当本地Go版本环境,操作方式如下

【方式一】使用brew升级

// 查看go安装位置
where is go
// 升级
brew upgrade go

【方式二】下载安装包

配置Goland开发工具中GOROOT的路径,以及修改全局文件:bash_profile。操作如下:

// 修改之前配置的GOROOT
vim ~/.bash_profile
// 立即执行生效
source ~/.bash_profile

4.2 项目运行

点击mai n.go文件运行,在Go的配置文件下的bin目录下生成,项目包。将当前配置文件与项目结构放置在一起,可运行,并读取相关配置文件;

【运行】

./go_build_xxxx_com_nurse_cloud_cloud_service run -c config/cloud-service-config.toml

使用的是cli方式,当前不太熟悉参考学习一下这些文章:

cli 使用:https://www.cnblogs.com/feixiangmanon/p/11185239.html

cli使用:https://blog.csdn.net/weixin_39838758/article/details/113074252

cli使用:https://blog.csdn.net/zhonglinzhang/article/details/77188865

cli 使用:https://zhuanlan.zhihu.com/p/150396264

(项目运行部分还需修正,当前项目因为数据远程无法访问故项目运行起来,无法连接数据库)

相关文章

  • Go 项目运行记录

    (仅供自己记录学习) 1. 项目结构 2. 根据项目包名初始化 【初始化】1. go mod init 【初始化】...

  • go新建运行项目

    在使用本博客经验之前 需配置好 GOPATH 跟 GOROOT 创建好本地工作路径之后,使用 GoLand 打开...

  • 设置后台守护进程运行beego应用

    先贴上项目的路径:/alidata/www/go_workspace/src/go_zhanj163/ 运行命令:...

  • GO 语言编译过程

    记录go是如何编译的 如何编译及运行修改后的源代码 1.下载GO源码2.进入到go源码的go/src文件夹3.运行...

  • 2022-08-10 go run *.go

    背景 Linux中的go项目,可以使用go run *.go运行当前文件夹下的所有go文件。 但是同样的代码在Wi...

  • Mac上运行go项目

    1、下载Go语言安装包:https://golang.google.cn/dl/[https://golang.g...

  • Go的间接依赖

    为什么已经在module/项目中使用go mod download下来所需依赖了,但是之后运行go 命令仍然出现了...

  • 解决 /lib64/libc.so.6: version `GL

    执行 go-filecoin 可执行文件时,遇到这个问题,记录下解决方法 运行环境 问题 执行 go-fileco...

  • GoLand报错:package XXX is not in G

    使用GoLand运行写好的代码报错,报错信息: 通过命令行进入项目目录执行go build或go run就可以成功...

  • 菜鸟的go入门笔记

    go语句不用加分号,和python一样。 go的运行方式:go run xx.go test的运行方式:go te...

网友评论

      本文标题:Go 项目运行记录

      本文链接:https://www.haomeiwen.com/subject/cxoxrrtx.html