mac下安装golang框架iris的方法

 更新时间:2020年11月27日 11:19:52   作者:李高峰的博客  
这篇文章主要介绍了mac下安装golang框架iris的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

安装前准备:

设置GOPROXY代理

参考:https://goproxy.cn/

我使用的是下面的两条命令:

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct

我的go env信息:

% go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/mac/Library/Caches/go-build"
GOENV="/Users/mac/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/mac/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/mac/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/mac/www/iris/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/d5/13f52jg52n500y4w_8bxcx680000gn/T/go-build475857461=/tmp/go-build -gno-record-gcc-switches -fno-common"
mac@MacdeMacBook-Pro iris % go env -w GO111MODULE=on
mac@MacdeMacBook-Pro iris % go env -w GOPROXY=https://goproxy.cn,direct
mac@MacdeMacBook-Pro iris % go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/mac/Library/Caches/go-build"
GOENV="/Users/mac/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/mac/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/mac/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/mac/www/iris/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/d5/13f52jg52n500y4w_8bxcx680000gn/T/go-build212739672=/tmp/go-build -gno-record-gcc-switches -fno-common"

安装过程参考:https://www.iris-go.com/docs/#/

创建一个新项目:

% cd ~/www
% mkdir iris 
% cd iris 
% go mod init iris
go: creating new go.mod: module iris
% ls
go.mod
%vim main.go
package main
 
import (
 "github.com/kataras/iris/v12"
)
 
func main() {
 app := iris.New()
 app.Get("/", func(ctx iris.Context) {
  ctx.HTML("<h1>Hello World!</h1>")
  app.Logger().Info("我在学习Iris噢")
 })
 app.Run(iris.Addr(":8009"))
}

实际安装过程:

go get -u github.com/kataras/iris/v12@master
 
go: downloading github.com/kataras/iris/v12 v12.2.0-alpha.0.20201126085352-5b6802d00eaf
go: downloading github.com/kataras/iris v0.0.0-20191006184023-c8e73f4f4df2
go: github.com/kataras/iris/v12 master => v12.2.0-alpha.0.20201126085352-5b6802d00eaf
go: downloading github.com/tdewolff/minify/v2 v2.9.10
go: downloading github.com/BurntSushi/toml v0.3.1
go: downloading github.com/kataras/tunnel v0.0.2
go: downloading github.com/mailru/easyjson v0.7.6
go: downloading gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776
go: downloading github.com/json-iterator/go v1.1.10
go: downloading github.com/schollz/closestmatch v2.1.0+incompatible
go: downloading github.com/fatih/structs v1.1.0
go: downloading github.com/CloudyKit/jet/v5 v5.1.1
go: downloading github.com/flosch/pongo2/v4 v4.0.0
go: downloading github.com/kataras/golog v0.1.5
go: downloading gopkg.in/ini.v1 v1.62.0
go: downloading golang.org/x/text v0.3.4
go: downloading github.com/kataras/blocks v0.0.4
go: downloading github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421
go: downloading github.com/tdewolff/parse/v2 v2.5.5
go: downloading github.com/kataras/pio v0.0.10
go: downloading github.com/iris-contrib/jade v1.1.4
go: downloading google.golang.org/protobuf v1.25.0
go: downloading github.com/yosssi/ace v0.0.5
go: downloading github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53
go: downloading golang.org/x/sys v0.0.0-20201119102817-f84b799fce68
go: downloading github.com/google/uuid v1.1.2
go: downloading github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible
go: downloading golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e
go: downloading github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742
go: downloading golang.org/x/net v0.0.0-20201110031124-69a78807bb2b
go: downloading github.com/russross/blackfriday v1.5.2
go: downloading github.com/klauspost/compress v1.11.3
go: downloading github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385
go: downloading github.com/andybalholm/brotli v1.0.1
go: downloading github.com/vmihailenco/msgpack/v5 v5.0.0
go: downloading github.com/russross/blackfriday/v2 v2.1.0
go: downloading github.com/iris-contrib/schema v0.0.6
go: downloading github.com/vmihailenco/tagparser v0.1.2
go: downloading github.com/kataras/sitemap v0.0.5
go: downloading github.com/valyala/bytebufferpool v1.0.0
go: downloading golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392
go: downloading github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398
go: downloading github.com/microcosm-cc/bluemonday v1.0.4
go: downloading github.com/chris-ramon/douceur v0.2.0
go: downloading github.com/aymerick/douceur v0.2.0
go: downloading github.com/gorilla/css v1.0.0

以上安装在了~/go/pkg/mod目录下了:

创建一个main.go文件:

%vim main.go
package main
 
import (
 "github.com/kataras/iris/v12"
)
 
func main() {
 app := iris.New()
 app.Get("/", func(ctx iris.Context) {
  ctx.HTML("<h1>Hello World!</h1>")
  app.Logger().Info("我在学习Iris噢")
 })
 app.Run(iris.Addr(":8009"))
}
 
以上保存后运行:
% go run main.go 
Now listening on: http://localhost:8009
Application started. Press CMD+C to shut down.

用goland打开刚才的iris项目发现不能识别iris,引入的iris部分提示红色,解决办法为:Preferences->Go Modules

保存即可

外部库下载到项目根目录下:

 % go mod vendor 

执行之后,项目的根目录下增加了一个vendor的文件夹,文件夹的名字和PHP的composer生成的文件夹相同,作用也是一样的。

然后在这基础上可以进行功能的开发了。

到此这篇关于mac下安装golang框架iris的方法的文章就介绍到这了,更多相关golang框架iris内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Go语言for range(按照键值循环)遍历操作

    Go语言for range(按照键值循环)遍历操作

    这篇文章主要介绍了Go语言for range(按照键值循环)遍历操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • vscode配置go开发环境的实战过程

    vscode配置go开发环境的实战过程

    vscode配置go的开发环境很简单,下面这篇文章主要给大家介绍了关于vscode配置go开发环境的实战过程,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • go 协程返回值处理操作

    go 协程返回值处理操作

    这篇文章主要介绍了go 协程返回值处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • golang读取yaml配置文件的方法实现

    golang读取yaml配置文件的方法实现

    本文主要介绍了golang读取yaml配置文件的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • Go语言中的switch用法实例分析

    Go语言中的switch用法实例分析

    这篇文章主要介绍了Go语言中的switch用法,实例分析了switch的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • 值得拥有的Go语言常用内置包使用示例

    值得拥有的Go语言常用内置包使用示例

    本文将介绍 Go 语言的常用内置包,详细介绍它们的功能、用法,并通过通俗易懂的示例代码,让读者掌握这些内置包的精髓,提高 Go 语言编程技能
    2023-11-11
  • 深入探索Go 1.21中的 maps工具库

    深入探索Go 1.21中的 maps工具库

    随着 Go 1.21.0 版本的发布,新增了两个实用的泛型工具库:maps 和 slices,下面小编就带大家一起学习一下 maps 工具库的相关知识吧
    2023-08-08
  • golang并发编程中Goroutine 协程的实现

    golang并发编程中Goroutine 协程的实现

    Go语言中的协程是一种轻量级线程,通过在函数前加go关键字来并发执行,具有动态栈、快速启动和低内存使用等特点,本文就来详细的介绍一下,感兴趣的可以了解一下
    2024-10-10
  • Go语言配置数据库连接池的实现

    Go语言配置数据库连接池的实现

    本文内容我们将解释连接池背后是如何工作的,并探索如何配置数据库能改变或优化其性能。文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • go简介及国内镜像源配置全过程

    go简介及国内镜像源配置全过程

    本文介绍了Go语言的基本概念和环境配置,包括GOROOT、GOPATH和GOMODULE的设置,还展示了如何在IDEA中配置Go语言的开发环境,并通过一个简单的“HelloWorld”项目来熟悉Go语言的基本语法和开发流程
    2025-01-01

最新评论