BoltDB Здание Оффлайн
Поэтому у меня есть кое-какая работа за корпоративным брандмауэром, и я новичок в создании приложений Go. Единственное приложение go, с которым я работал, уже создано и готово к использованию. Я хотел поиграть с BoltDB, но проблема в том, что я не могу установить его, потому что он требует:
go get github.com/boltdb/bolt/...
Поскольку мой сервер не может выйти на github.com, он не может это сделать. Я не совсем понимаю стратегию сборки go, и возможно ли выполнить go get на моем локальном компьютере, выполнить эту команду и скопировать содержимое $GOPATH на сервер. Это дает мне ошибку.
Я также пытался загрузить репо на внутреннем Git, но это требует того, что похоже на вызовы других зависимостей? Кто-нибудь знает, как я смогу развернуть BoltDB на моем сервере без команды go get?
Редактировать: То, что я до сих пор пробовал на моем локальном ноутбуке, это установить мой путь перехода:
export GOPATH=/Users/abc/go
go get github.com/boltdb/bolt/...
ls -ltr go/
(который показывает файлы), заархивировал каталог go. Зашел на мой сервер и установил мой GOPATH,
export GOPATH=/opt/space/gopath
cd /opt/space/gopath
wget https://.../general/go.zip
unzip go.zip
mv go/* .
Теперь появляется та же самая файловая структура, что и на моем локальном ноутбуке, и на моем сервере. Когда я запускаю Cayley (приложение, с которым я играю):
./cayley http --host="10.xxx.xx.xxx" --db="bolt" --dbpath=/tmp/bolt3
Я получаю всевозможные ошибки, которые я не могу найти ни у кого в Интернете при использовании болта.
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x8 pc=0x698a03]
goroutine 1 [running]:
github.com/boltdb/bolt.(*Bucket).Get(0x0, 0xc20802b3f8, 0x4, 0x8, 0x0, 0x0, 0x0)
...