не может найти пакет "bufio" ни в одном из - PullRequest
0 голосов
/ 15 марта 2019

Я установил go1.11.5, скачав предварительно скомпилированный двоичный пакет прямо на мою ubuntu18.04.Теперь я хочу установить go1.12 путем сборки из источника, поэтому я следую с Установка Go из источника .

Я установил GOROOT_BOOTSTRAP = ~ / goroot_bootstrap

$ mkdir -p ~/goroot_bootstrap/bin
$ cp /usr/local/go/bin/go ~/goroot_bootstrap/bin/
$ echo "export GOROOT_BOOTSTRAP=~/goroot_bootstrap" >> ~/.bashrc
$ source ~/.bashrc

Затем получите источник

$ git clone -b release-branch.go1.12 https://github.com/golang/go.git ~/github.com/golang/go

Сборка

$ cd ~/github.com/golang/go/src
$ ./all.bash

Не удалось, и советы:

Building Go cmd/dist using /home/pi/goroot_bootstrap.
cmd/dist/imports.go:12.2: cannot find package "bufio" in any of:
        /home/pi/goroot_bootstrap/src/bufio (from $GOROOT)
        /home/pi/go/src/bufio (from $GOPATH)
...

Но если я установлю GOROOT_BOOTSTRAP = / usr / local / go , это будет успешно.
Затем я читаю исходный код в src / make.bash.

166  rm -f cmd/dist/dist
167  GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" GO111MODULE=off "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist

Загрузочные инструменты собирают cmd / dist с помощьюGOROOT = "$ GOROOT_BOOTSTRAP" в строке 167.
Если у меня есть GOROOT_BOOTSTRAP = / usr / local / go set и success, что означает создание еще зависящего от старого пакета, такого как bufio.

Итак, почему это не удалось при установке GOROOT_BOOTSTRAP = ~ / goroot_bootstrap ?
Зависит ли сборка от старого пакета, если задано значение GOROOT_BOOTSTRAP = / usr / local / go ?
Какой из нихправильный метод установки из источника?

Любая помощь будет благодарна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...