Mac下Go安裝及第三方包安裝

  • 安裝go,直接下載安裝包安裝
  • 添加:
     #vim ~/.bash_profile
     GOROOT=/usr/local/go
     export GOROOT
     export PATH=$PATH:$GOROOT/bin
    
     GOPATH=/root/go/
     export PATH=$PATH:$GOPATH
    
     GOBIN=$GOPATH/bin
     export PATH=$PATH:$GOBIN
    
  • zsh環(huán)境變量設(shè)置有點(diǎn)不一樣,bash的是~/.bash_profile,zsh的是~/.zshrc
    # vim ~/.zshrc
    export GOROOT=/usr/local/go
    export GOPATH=/Users/username/go
    
  • 保存變更:source ~/.bash_profile

第一種方式

  • 下載go的第三方包

  • cd ~/go/src
    安裝第三方包,舉個(gè)栗子:
    復(fù)制code.google.com.p.go.net.tar.gz到src目錄下,解壓縮,這時(shí)候目錄應(yīng)該看起來(lái)是這個(gè)樣子,

    .
    └── src
       └── code.google.com
          └── p
              └── go.net
                  ├── ...
                  └── websocket
                      ├── client.go
                      ├── exampledial_test.go
                      ├── examplehandler_test.go
                      ├── hybi.go
                      ├── hybi_test.go
                      ├── server.go
                      ├── websocket.go
                      └── websocket_test.go
    
  • 接下來(lái)安裝這個(gè)包:

    $ go install code.google.com/p/go.net/websocket
    
  • 安裝github上的一些go腳本工具

    #前提是你已安裝了git
    $ go get github.com/rakyll/boom
    $ cd ~/GOPATH/src/github.com/rakyll/boom
    $ go build boom.go
    $ boom
    

    此時(shí)boom.go 已被編譯成可執(zhí)行文件,直接執(zhí)行boom

第二種方式

Failed to install golang.org/x/crypto/bcrypt
I found temporary solution.
Library golang.org/x/crypto/bcrypt has mirror on github.

Create folder src/golang.org/x/ into you GOPATH.

mkdir -p $GOPATH/src/golang.org/x/

Then clone crypto from github.

cd $GOPATH/src/golang.org/x/
git clone git@github.com:golang/crypto.git

第三種方式

  • 發(fā)現(xiàn)個(gè)更便捷的方式:gopm
    使用方式:gopm get <package name>@[<tag|commit|branch>:<value>]
    • 最新版本:gopm get github.com/go-xorm/xorm
      該命令下載最新版本的 xorm,并根據(jù) gopmfile 下載它的依賴包。
    • 固定分支:gopm get github.com/go-xorm/xorm@branch:master該命令下載 xorm 的 master 分支的最新版,并根據(jù) gopmfile 下載它的依賴包。
    • 指定標(biāo)簽:gopm get github.com/go-xorm/xorm@tag:v0.2.3
      該命令下載 tag:v0.2.3 版本的 xorm,并根據(jù) gopmfile 下載它的依賴包。
    • 某個(gè)提交:gopm get github.com/go-xorm/xorm@commit:6ffffe9
      該命令下載提交 commit:6ffffe9 時(shí)刻的 xorm,并根據(jù) gopmfile 下載它的依賴包。
    • 參數(shù)說(shuō)明
      --tags:應(yīng)用構(gòu)建 tags。
      --download, -d:僅下載當(dāng)前指定的包。
      --update, -u:檢查更新所有包。
      --gopath, -g :下載所有包至 GOPATH 中。
      --remote, -r:將所有包下載至 gopm 本地倉(cāng)庫(kù)。
      --verbose, -v:顯示詳細(xì)信息。

第四種方式(最簡(jiǎn)單)

本質(zhì)上go獲取包的時(shí)候有兩個(gè)步驟,下面針對(duì)這兩個(gè)步驟分別處理。

  • http層面增加代理
    添加如下環(huán)境變量,來(lái)解決https fetch failed問(wèn)題,可以將以下exoprot語(yǔ)句保存到~/.bash_profile,直接在命令行export只生效一次,重啟失效

    • export http_proxy=socks5://127.0.0.1:1080 // 梯子的本地端口
    • export https_proxy=$http_proxy
  • go get層面增加代理
    go 1.11版本新增了 GOPROXY 環(huán)境變量,go get會(huì)根據(jù)這個(gè)環(huán)境變量來(lái)決定去哪里取引入庫(kù)的代碼,可以將以下exoprot語(yǔ)句保存到~/.bash_profile,直接在命令行export只生效一次,重啟失效

    • export GOPROXY=https://goproxy.io
      其中,https://goproxy.io 是一個(gè)goproxy.io這個(gè)開(kāi)源項(xiàng)目提供的公開(kāi)代理服務(wù)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容