东林博客

Go语言安装环境采坑记

Macbook安装Go语言环境

打开下载网址:https://golang.google.cn/dl/

我是直接下载Mac的安装包PKG安装的,所以默认的GOPATH是 $HOME/go

下载GoLand 编辑器,创建项目blog

现在项目默认路径是:/Users/macnie/go/src/blog

写一个小爬虫

package main

import (
   "fmt"
   "github.com/PuerkitoBio/goquery"
   "log"
   "net/http"
)

func main()  {
   res,err := http.Get("https://www.macnie.com")
   if(err != nil){
      log.Fatal(err)
   }
   doc,err := goquery.NewDocumentFromReader(res.Body)
   doc.Find(".posts-title").Each(func(i int, selection *goquery.Selection) {
      title := selection.Find("h2 a").Text();
      fmt.Println(title)
   })
}

运行,报错了:

cannot find package "golang.org/x/net/html" in any of:

这个是由于被墙了,需要安装golang/net,所以我手工安装:

cd /Users/macnie/go/src/
mkdir golang.org
mkdir golang.org/x
git clone  net
mv net golang.org/x/
go install net

理论上,依次执行完以上步骤,应该能成功的。但事实总是出乎意料,报错:

warning: GOPATH set to GOROOT (/Users/macnie/go) has no effect
can't load package: package net: no Go files in /Users/macnie/go/src/net

这是因为GOROOT或者GOPATH设置的不对。

设置一下:

vim ~/.bash_profile

增加以下两行:

export GOROOT="/usr/local/go"   // 要点一
export GOPATH=$HOME/go

要点一:

如果你是pkg安装,GOROOT就是/usr/local/go,如果是brew或者编译安装,可以通过 go env 命令查看go当前的配置信息。

刷新

source ~/.bash_profile

输入命令 go env ,看看生效了没。

生效了。再执行抓取命令,通过了。

{{tip}}