Не могу запустить программу go с помощью команды sudo - PullRequest
0 голосов
/ 25 апреля 2019

Я новичок в изучении языка программирования.

Я использую ниже для пакетов в моей программе my-s3zipper.go.

"github.com/AdRoll/goamz/aws"
"github.com/AdRoll/goamz/s3"

Когда я запускаю программу go с локальным пользователем, она работает нормально.Ниже приведена команда go run.

go run my-s3zipper.go
Running on port 80

Когда я запускаю программу go с помощью sudo, она не запускается и выдает ошибки.Ниже приведена команда go run с использованием sudo.

sudo go run my-s3zipper.go 



my-s3zipper.go:19:5: cannot find package "github.com/AdRoll/goamz/aws" in any of:
        /usr/lib/golang/src/github.com/AdRoll/goamz/aws (from $GOROOT)
        /root/go/src/github.com/AdRoll/goamz/aws (from $GOPATH)
my-s3zipper.go:20:5: cannot find package "github.com/AdRoll/goamz/s3" in any of:
        /usr/lib/golang/src/github.com/AdRoll/goamz/s3 (from $GOROOT)
        /root/go/src/github.com/AdRoll/goamz/s3 (from $GOPATH)
my-s3zipper.go:21:5: cannot find package "github.com/garyburd/redigo/redis" in any of:
        /usr/lib/golang/src/github.com/garyburd/redigo/redis (from $GOROOT)
        /root/go/src/github.com/garyburd/redigo/redis (from $GOPATH)

Кто-нибудь может помочь мне решить эту проблему?

Спасибо

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Это, вероятно, будет работать

sudo -E go run my-s3zipper.go

со страницы руководства sudo

-E '-E (сохранение среды) указывает политике безопасности, что пользователь желаетсохранить свои существующие переменные среды.Политика безопасности может возвращать ошибку, если указана опция -E и у пользователя нет прав на сохранение среды.

0 голосов
/ 25 апреля 2019

Попробуйте:

sudo GOPATH="$GOPATH:/your/home/go/path" go run my-s3zipper.go

или

su
GOPATH="$GOPATH:/your/home/go/path"
go run my-s3zipper.go

Возможно, причина в том, что переменная GOPATH отличается для вашего пользователя и пользователя root.

Вы можетеобнаружить /your/home/go/path, выполнив echo $GOPATH при входе в систему пользователя

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