Hey everyone!
So I am playing around with serverless functions and Go but as soon as I add a module from Github the build.sh
script fails. Here is a minimal example:
package main
import (
"net/http"
"github.com/digitalocean/godo"
)
type Request struct {
Token string `json:"token"`
}
type Response struct {
StatusCode int `json:"statusCode,omitempty"`
Body string `json:"body,ommitempty"`
}
func Main(in Request) (*Response, error) {
client := godo.NewFromToke(in.Token)
return &Response{
StatusCode: http.StatusOK,
Body: "Yay!",
}, nil
}
The error when executing doctl serverless deploy <folder>
is
Deploying '/user/sample/test'
to namespace '...'
on host '...'
Submitted action 'test' for remote building and deployment in runtime go:default (id: ...)
Transcript of remote build session for 'test':
Output of failed build in /tmp/slices/builds/.../sample_test/2022-07-23T22-30-16.224Z/packages/sample/test
initializing modules
go: creating new go.mod: module exec
go: to add module requirements and sums:
go mod tidy
building
test.go:6:2: no required module provides package github.com/digitalocean/godo; to add it:
go get github.com/digitalocean/godo
Failures:
Error: While deploying action 'sample/test': './build.sh' exited with code 1
Does anyone have an idea what I am doing wrong? Thanks a lot for the help I really appreciate it :)
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
You have to put your
go.mod
andgo.sum
files directly in the package where you have the function’s code, in your case/tmp/slices/builds/.../sample_test/2022-07-23T22-30-16.224Z/packages/sample/test
Did you: go get github.com/digitalocean/godo as the error shows?