Windows7 (x86) 配置Go語言IDE開發環境, 編譯loraserver手記

Windows7 (x86) 配置Go語言IDE開發環境, 編譯loraserver手記

1. 安裝vscode,安裝依賴

(1) golang.org/x/net

由於golang、googleapis等網站被牆,因此很多依賴包在下載的時候會有問題。爲了使包的導入方式不變,我們需要在src目錄下面構造目錄結構
$ mkdir -p $GOPATH/src/golang.org/x/
$ cd $GOPATH/src/golang.org/x/
$ git clone https://github.com/golang/net.git
$ go install net
--------------------- 
作者:冰_封 
原文:https://blog.csdn.net/xie1xiao1jun/article/details/79421136 

golang在github上的託管 (官網)

https://github.com/golang

(2) tools

github.com> git clone https://github.com/golang/tools.git

(3) lint

github.com> git clone https://github.com/golang/lint.git
go install github.com/golang/lint/golint

(4) derekparker/delve/cmd/dlv

src\github.com> git clone https://github.com/derekparker/delve.git
go install github.com/derekparker/delve/cmd/dlv
# github.com/derekparker/delve/pkg/proc
derekparker\delve\pkg\proc\disasm.go:12:14: undefined: archInst 

求助於度娘、必應,必應給出了一條官網的Issue: https://github.com/derekparker/delve/issues/20delve不支持x86 (32位)

因此,在32位widnows上,是沒法使用vscode編譯調試Go代碼的!!!


3. LiteIDE 編譯 loraserver

(1) 下載lorawan, loraserver

go get github.com/brocaar/lorawan
go get github.com/brocaar/loraserver

(2) LiteIDE編譯,逐個解決報告的依賴

src\github.com>git clone https://github.com/kisielk/errcheck.git
go install -v github.com/kisielk/errcheck

go get -u github.com/NickBall/go-aes-key-wrap

go get -u github.com/grpc-ecosystem/go-grpc-middleware/tags
go get -u github.com/jmoiron/sqlx
go get -u github.com/grpc-ecosystem/go-grpc-middleware/tags

src\golang.org\x> git clone https://github.com/golang/net.git
go install -v net
go install -v golang.org/x/tools/cmd/guru
go get -u -v github.com/lib/pq
go get -u -v github.com/eclipse/paho.mqtt.golang
go get -u -v github.com/garyburd/redigo/redis
go get -u -v github.com/gofrs/uuid
go get -u -v github.com/golang/protobuf/jsonpb
go get -u -v github.com/rubenv/sql-migrate
go get -u -v github.com/sirupsen/logrus
go get -u -v github.com/spf13/cobra
go get -u -v github.com/spf13/viper

(3) grpc

參考文章: golang安裝gRpc [https://studygolang.com/articles/14035?fr=sidebar](https://studygolang.com/articles/14035?fr=sidebar)

google.golang.org> git clone https://github.com/grpc/grpc-go.git
mv grpc-no grpc    ##<rename it!>
golang.org/x>      git clone https://github.com/golang/net.git
golang.org/x>      git clone https://github.com/golang/text.git
google.golang.org> git clone https://github.com/google/go-genproto.git
mv go-genproto 	genproto      ##<rename it!>
go get  -u -v github.com/golang/protobuf/{proto,protoc-gen-go}
go install -v google.golang.org/genproto/googleapis/api/annotations
go install -v google.golang.org/grpc

(4) crypt

golang.org/x>  git clone https://github.com/golang/crypto.git
go install -v 	golang.org/x/crypto

(5) google-cloud-go

golang.org\x>	git clone https://github.com/golang/exp.git
go install -v 	golang.org/x/exp/rand
mkdir gonum.org
src\gonum.org>	git clone https://github.com/gonum/gonum.git
src\gonum.org>	mkdir v1
src\gonum.org>	mv gonum v1
go install -v 	gonum.org/v1/gonum/graph

src\github.com>	git clone https://github.com/googleapis/googleapis.git
go install github.com/googleapis/gax-go

src\go.opencensus.io>	git clone https://github.com/census-instrumentation/opencensus-go.git
src\go.opencensus.io>	mv opencensus-go\* .
go install -v 	go.opencensus.io/plugin/ocgrpc
go install -v 	go.opencensus.io/stats
go install -v 	go.opencensus.io/tag

golang.org\x>	git clone https://github.com/golang/sync.git
go install -v 	golang.org/x/sync/errgroup
go install -v 	golang.org/x/sync/semaphore

cloud.google.com> 	git clone https://github.com/google/go-cloud.git
cloud.google.com> 	git clone https://github.com/GoogleCloudPlatform/google-cloud-go.git
cloud.google.com> 	mv google-cloud-go  go	##<rename it!>
go install -v 		cloud.google.com/go/pubsub

(6) google.golang.org/api

golang.org/x>	git clone https://github.com/golang/oauth2.git
go install -v	golang.org/x/oauth2

src\google.golang.org> git clone https://github.com/googleapis/google-api-go-client.git
src\google.golang.org>	mv  google-api-go-client api
go install -v  google.golang.org/api/iterator
go install -v 	google.golang.org/api/option
go install -v 	google.golang.org/api/support/bundler
go install -v	google.golang.org/api/transport

花了大半天時間,做完上述工作,編譯時終於不再報告包依賴錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章