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上的託管 (官網)
(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/20,delve不支持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
花了大半天時間,做完上述工作,編譯時終於不再報告包依賴錯誤。