簡體   English   中英

去語言:找不到導入(github項目)

[英]Go language: can't find import (github project)

嗨,我正在寫一個解決指定圖形問題的小型應用程序。 我想使用goraph的maxflow算法(請參閱github.com/gyuho/goraph),但是我有問題將它導入我的項目。

我做了什么: - 我在我的主目錄中創建了一個.go folter並將GOPATH添加到我的.bash_profile(導出GOPATH = $ HOME / .go)

  • 然后我打電話給“go get github.com/gyuho/goraph”。 這些文件存儲在〜/ .go / src / github.com / gyuho / goraph下。 在.go中也存在“bin”和“pkg”文件夾。

在我的代碼中,我執行以下操作:

package flow

import (
    "encoding/json"
    "github.com/gyuho/goraph"
    "log"
)

//some func definitions...

這是我的Makefile:

# Go parameters
GOCMD=go
GOBUILD=$(GOCMD) build
GOCLEAN=$(GOCMD) clean
GOTEST=$(GOCMD) test
GOFMT=gofmt -w

# Directories
SRC=src
FLOW_SRC=$(SRC)/flow
ERLANGC_SRC=$(SRC)/erlangc
LOGGING_SRC=$(SRC)/logging

# Names and files
MAKING_OS=$(shell go env GOOS)
MAKING_ARCH=$(shell go env GOARCH)
TARGET_NAME=flow
TARGET_DIR=$(shell pwd)/bin

# Cross compilation targets
BIN_DARWIN_AMD64=darwin-amd64
BIN_LINUX_AMD64=linux-amd64
BIN_LINUX_386=linux-386
TARGET_LINUX_AMD64=$(TARGET_DIR)/$(BIN_LINUX_AMD64)/$(TARGET_NAME)
TARGET_LINUX_386=$(TARGET_DIR)/$(BIN_LINUX_386)/$(TARGET_NAME)
TARGET_DARWIN_AMD64=$(TARGET_DIR)/$(BIN_DARWIN_AMD64)/$(TARGET_NAME)
ALL_TARGETS=$(TARGET_LINUX_AMD64) $(TARGET_LINUX_386) $(TARGET_DARWIN_AMD64)

# Rules
all: format tests build-darwin-amd64 build-linux-amd64 build-linux-386

clean: $(ALL_TARGETS)
        $(GOCLEAN)
        rm -f $^

ci: tests build-linux-amd64

tests:
        $(GOTEST) $(FLOW_SRC)/*.go
        $(GOTEST) $(ERLANGC_SRC)/*.go

build-darwin-amd64:
        mkdir -p $(TARGET_DIR)/$(BIN_DARWIN_AMD64)
        cd src && GOARCH=amd64 GOOS=darwin $(GOBUILD) -o $(TARGET_DARWIN_AMD64)

build-linux-amd64:
        mkdir -p $(TARGET_DIR)/$(BIN_LINUX_AMD64)
        cd src && GOARCH=amd64 GOOS=linux $(GOBUILD) -o $(TARGET_LINUX_AMD64)

build-linux-386:
        mkdir -p $(TARGET_DIR)/$(BIN_LINUX_386)
        cd src && GOARCH=386 GOOS=linux $(GOBUILD) -o $(TARGET_LINUX_386)

format:
        $(GOFMT) -d -tabwidth=2 -tabs=false -w -s $(FLOW_SRC)/*.go
        $(GOFMT) -d -tabwidth=2 -tabs=false -w -s $(ERLANGC_SRC)/*.go

去環境:

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/bstoecker/.go/"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.2.2/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.2.2/libexec/pkg/tool/darwin_amd64"
TERM="dumb"
CC="clang"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fno-common"
CXX="clang++"
CGO_ENABLED="1"

在調用make時我收到以下錯誤:

gofmt -w -d -tabwidth=2 -tabs=false -w -s src/flow/*.go
gofmt -w -d -tabwidth=2 -tabs=false -w -s src/erlangc/*.go
go test src/flow/*.go
# command-line-arguments
src/flow/graph_json.go:5: can't find import: "github.com/gyuho/goraph"
FAIL    command-line-arguments [build failed]
make: *** [tests] Error 2

誰知道我做錯了什么? 謝謝到目前為止

goraph項目中的 任何示例都不會僅導入“ github.com/gyuho/goraph ”。
他們導入該應用程序中的特定包:

例如:

import (
  "fmt"
  "testing"

  "github.com/gyuho/goraph/algorithm/bfs"
  "github.com/gyuho/goraph/graph/gsd"
  // go test -v github.com/gyuho/goraph/example
  // go test -v /Users/gyuho/go/src/github.com/gyuho/goraph/example/bfs_test.go
)

看看你是否可以 goraph導入其中一個包,而不是goraph本身。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM