Невозможно развернуть Go в Oracle Cloud Function с помощью Cloud Shell

Я попытался создать и развернуть функции Oracle Cloud, следуя официальные инструкции по документации. Я могу создавать и развертывать, используя среду выполнения java, но когда я развертываю среду выполнения, всегда возвращаю ошибку.

Я попытался запустить функцию Go с помощью этой команды в Oracle Cloud Shell:

fn init —runtime go hello-go

затем я попытался развернуть его

fn -v deploy —app test

но он вернул ошибку, как показано ниже:

Deploying hello-go to app: test Bumped to version 0.0.7 Building image bom.ocir.io/bmptwl2psusa/repo/hello-go:0.0.7 FN_REGISTRY: bom.ocir.io/bmptwl2psusa/repo Current Context: ap-mumbai-1 Sending build context to Docker daemon 5.632kB Step 1/10 : FROM fnproject/go:dev as build-stage —> 96c8fb94a8e1 Step 2/10 : WORKDIR /function —> Using cache —> 8961dd299ec1 Step 3/10 : WORKDIR /go/src/func/ —> Using cache —> 5a4c2c6e13f1 Step 4/10 : ENV GO111MODULE=on —> Using cache —> 22022ff2fcf8 Step 5/10 : COPY . . —> 714622a6ff03 Step 6/10 : RUN cd /go/src/func/ && go build -o func —> Running in 39fedbc476f4 build func: cannot find module for path github.com/fnproject/fdk-go The command ‘/bin/sh -c cd /go/src/func/ && go build -o func’ returned a non-zero code: 1 Fn: error running docker build: exit status 1

Когда я использую среду выполнения java с командой fn init —runtime java hello-java, она успешно развернута. Почему всегда происходит сбой при использовании go?

Я попытался запустить go build -o func в каталоге hello-go, но он вернул:

go: finding module for package github.com/fnproject/fdk-go go: writing stat cache: mkdir /usr/share/gocode/pkg: permission denied go: downloading github.com/fnproject/fdk-go v0.0.3 func.go:10:2: mkdir /usr/share/gocode/pkg: permission denied

Я знаю, что это произошло, потому что каталог /usr/share/gocode/ находится под пользователем root, но я не знаю, как изменить разрешение для этой папки, потому что Oracle Cloud Shell не может использовать пользователя root или sudo. (на основе этого ответа)

Возможно, я смогу это сделать, если использую настоящую оболочку виртуальной машины или локальную оболочку / терминал, но я хочу использовать Oracle Cloud Shell, потому что я просто выполнил официальные инструкции, которые предложили мне использовать Oracle Cloud Shell, поэтому как развернуть Oracle Cloud Functions с помощью среды выполнения Go, используя Oracle Cloud Shell?

В основном официальная документация дает только примеры с использованием среды выполнения Java, что делает меня параноиком при использовании go.

Источник: ledsshop.ru

Стиль жизни - Здоровье!