Используя appengine с arch и zsh, невозможно найти goapp

Я новичок в appengine и установил google-cloud-sdk из AUR (архивный пользовательский репозиторий) и расширение google-appengine-go в /opt/google-cloud-sdk.

благодаря этому я могу запустить сервер разработки, используя

dev_appserver.py app.yaml

Но при использовании goapp serve я обнаружил

goapp: command not found

После добавления /opt/google-cloud-sdk/platform/google_appengine:$PATH к моей переменной $PATH в zshrc и запуска goapp serve я получаю сообщение об ошибке.

zsh: permission denied: goapp

если обслуживать sudo goapp

sudo: goapp: command not found

Из-за этого я не могу использовать обновленный SDK для запуска тестов с помощью goapp test Заранее благодарим вас за помощь.


person Gaurav Raghuvanshy    schedule 03.11.2017    source источник
comment
Убедитесь, что вы находитесь в том же сеансе терминала, где вы обновили PATH. проверьте which goapp и sudo which goapp.   -  person sahaj    schedule 03.11.2017
comment
which goapp возвращает goapp not found sudo which goapp возвращает which: no goapp in <the path valur>, но когда я ls /opt/google-cloud-sdk/platform/google_appengine, я вижу двоичный файл goapp. Но не могу использовать его, даже если я использую полный путь или sudo полный путь.   -  person Gaurav Raghuvanshy    schedule 03.11.2017
comment
Можете ли вы переустановить или выполнить чистую установку google-cloud-sdk, чтобы проверить, будет ли она работать?   -  person JL-HaiNan    schedule 04.11.2017


Ответы (1)


У меня была та же проблема, и я думаю, что понял, как это обычно работает.

  1. Вы загружаете Google Cloud SDK (https://cloud.google.com/sdk/downloads). )
  2. После загрузки и распаковки в папку, в которой вы хотите его использовать, вы должны выполнить ./google-cloud-sdk/install.sh. Appengine не является частью загрузки. Его можно выбрать с помощью этого скрипта install.sh. он будет загружать такие элементы, как appengine. После этого у вас есть папка с именем platform/google_appengine, как вы сами упомянули.
  3. Возможно, вам придется изменить разрешения на выполнение, например chmod 755 platform/google_appengine/go*.
  4. Добавьте папку platform/google_appengine в PATH, если это еще не сделано. Команда «которая» не будет показывать неисполняемые двоичные файлы. Если вы не изменили разрешения, он не покажет путь, даже находясь в переменной PATH.
person Janumar    schedule 04.11.2017
comment
Спасибо, janumar, я установил пакет appengine, используя gcloud components install app-engine-go. к chmod 755 platform/google_appengine/go* проблема была решена, и теперь я могу запустить goapp. Обратите внимание, что для использования теста goapp мне нужно указать папку, содержащую тесты. иначе получаю ошибку. может быть, у них тоже есть способ обойти это. Я изменил разрешения, но показывает goapp со своим путем. Какие-либо предложения? - person Gaurav Raghuvanshy; 04.11.2017