Go 项目运行记录

(仅供自己记录学习)

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/[email protected]: 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 项目运行记录)