Heoku의 log-shuttle
라이브러리 (https://github.com/heroku/log-shuttle)를 제가 수행중인 Go 프로젝트에 통합하려고합니다. 이 도구는 기본적으로 독립적 인 바이너리로 실행되도록 설계되었지만 도구에서 다른 방식으로이 도구를 통합하려고합니다.'가져 오기를 찾을 수 없음'이동
$ go get github.com/heroku/log-shuttle
$ ls $GOPATH/src/github.com/heroku/log-shuttle/
batcher.go Godeps ...
...
성공적으로 반환
그래서 나는 라이브러리를 얻을. 그런 다음 라이브러리를 가져 오려고 시도합니다.
package myPackage
import (
"github.com/heroku/log-shuttle"
"fmt"
"log"
)
...
위대한. 하지만 지금은
$ go build
# github.com/<my project>
logWriter/log_shuttle_writer.go:5: can't find import: "github.com/heroku/log-shuttle"
... go build
과에 가서 내가 가진 내 GOPATH
올바르게 설정 (저는 믿습니다) :
$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/jeff/go/"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"
그리고 패키지를 설치하고 내장,하지만하지 않으려한다 수입. 보시다시피, 비 - ASCII 문자가 패키지 경로에 있지만 (하이픈은 영숫자가 아님),이 문제의 원인이 될 수있는 정보를 찾을 수 없습니다.
중요한 점은 확실하지 않지만 godep
을 사용하여 내 의존 관계를 관리하려고합니다.
미리 감사드립니다.
감사합니다. 따라서 포크라면'main'이 아닌 다른 패키지에 코드를 저장 한 다음 내 보낸 함수에 액세스 할 수 있습니까? 패키지가 실행 가능한'main' 일 수 있고 다른 사람이 가져올 수 있도록 이러한 문제를 피하기위한 일반적인 "베스트 프랙티스"가 있습니까? –
라이브러리를 가져올 수있게하려면 모든 기능을 기본 패키지가 아닌 패키지에 넣은 다음 기본 패키지를 가져 와서 실행하면됩니다. – JimB