Ошибка при запуске make в Hyperledger Fabric на MacOS - PullRequest
0 голосов
/ 10 марта 2019

Я установил все необходимые условия для Fabric.

  • ОС: Mac OS X EI Capitan
  • Docker версия 18.03.0-ce, сборка 0520e24
  • docker-compose версия 1.20.1, сборка 5d8c71b
  • go версия go1.10.3 darwin / amd64
  • GOPATH = "/ USR / местные / идти"
  • GOROOT = "/ USR / местные / идти"

Я поместил Fabric в /usr/local/go/src/github.com/hyperledger/fabric и добавил GOPATH в переменную PATH системы.

При выполнении команды make docker я получаю следующую ошибку:

Building .build/docker/bin/peer
can't load package: package github.com/hyperledger/fabric/peer: cannot find package "github.com/hyperledger/fabric/peer" in any of:
    /opt/go/src/github.com/hyperledger/fabric/peer (from $GOROOT)
    /opt/gopath/src/github.com/hyperledger/fabric/peer (from $GOPATH)

make: *** [.build/docker/bin/peer] Error 1

Я также прошел через правило Makefile для того же:

# We (re)build a package within a docker context but persist the $GOPATH/pkg
# directory so that subsequent builds are faster
$(BUILD_DIR)/docker/bin/%: $(PROJECT_FILES)
        $(eval TARGET = ${patsubst $(BUILD_DIR)/docker/bin/%,%,${@}})
        @echo "Building $@"
        @mkdir -p $(BUILD_DIR)/docker/bin $(BUILD_DIR)/docker/$(TARGET)/pkg
        @$(DRUN) \
                -v $(abspath $(BUILD_DIR)/docker/bin):/opt/gopath/bin \
                -v $(abspath $(BUILD_DIR)/docker/$(TARGET)/pkg):/opt/gopath/pkg \
                $(BASE_DOCKER_NS)/fabric-baseimage:$(BASE_DOCKER_TAG) \
                go install -tags "$(GO_TAGS)" -ldflags "$(DOCKER_GO_LDFLAGS)" $(pkgmap.$(@F))
        @touch $@

Ошибка, кажется, со строкой $(BASE_DOCKER_NS)/fabric-baseimage:$(BASE_DOCKER_TAG) \. Я попытался заменить $ (BASE_DOCKER_NS) абсолютным путем, то есть /usr/local/go/src/github.com/hyperledger. Это снова дает ошибку:

docker: недопустимый формат ссылки.

1 Ответ

0 голосов
/ 10 марта 2019

Возможно, проблема в том, что Is /usr/local/go не передается Docker.Предполагая, что вы используете Docker для Mac, вы можете проверить это, щелкнув правой кнопкой мыши значок Docker в строке состояния и выбрав Preferences, а затем вкладку File Sharing.Вам нужно будет добавить /usr/local/go, если его нет в списке.Если вы используете Docker Toolbox, вам нужно будет добавить общие папки через VirtualBox GUI .

Если вы запустите make docker для Fabric 1.4 и более ранних версий, это будет несколько этапов длястроить.Первый этап включает сборку двоичных файлов в контейнере Docker и монтирование текущего каталога как тома.Это ошибка, которую вы получаете, поскольку путь к хосту не используется совместно с Docker.

Если вы запустите make docker в основной ветке, вы не столкнетесь с этой проблемой, так как мастер использует многоэтапные сборки Docker.вместо этого.

...