Go install: нет места установки для каталога вне GOPATH

Хорошо, я видел этот вопрос много, но никаких решений для меня не работает. Я пробовал много раз, чтобы решить эту проблему, но ничего. Вот что я сделал:

  • Установленный Перейти.

Затем я добавил требования к пути к моему .bash_profile:

  • export PATH=$PATH:/usr/local/go/bin
  • export GOPATH=$HOME/go

Затем я устанавливаю правильные папки:

Folders

Как вы можете видеть, я также создал проецируемую шину .

Содержимое для main.go просто:

package main

import "fmt"

func main() {
  fmt.Println("Hello, world!")
}

Я бы предположил, что это все, что вам нужно для правильной работы, но независимо от того, что я делаю, я всегда получаю следующую ошибку, когда пытаюсь запустить go install:

go install: no install location for directory /Users/Daryl/go/src/tire outside GOPATH

Я знаю, что могу просто запустить go install tire, но это не проблема. Я бы лучше знал, что происходит.

Вот что я получаю, когда я запускаю go env:

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/daryl/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/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"

Это знакомо любому из вас? Я что-то пропустил? Любая помощь будет оценена.

Ответ 1

Проблема была в том, что Джеймс Хенстридж прокомментировал, по какой-то причине возникла проблема с моим именем каталога. Несмотря на то, что каталог имеет строчный регистр, мне пришлось сделать его заглавным.

Это сработало:

GOPATH=/Users/Daryl/go

Это не так:

GOPATH=$HOME/go

Однако, поскольку, перейдя на rMBP с моего iMac, у меня не было никаких проблем с настройкой Go, поэтому, по сей день, я не уверен, что происходит, но в этом случае капитализация исправила его.

Ответ 2

При запуске go install Go ищет путь переменной $GOBIN env. Либо вам нужно установить $GOBIN на $GOPATH/bin

$ export GOBIN=$GOPATH/bin

и/или добавить $GOBIN в путь поиска ОС

$ export PATH=$PATH:$GOBIN

Чтобы использовать команду без получения ошибки.