Skip to content

feat(functions):troubleshoot go version #4909

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 5, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
meta:
title: Go function build fails due to Go version
description: Troubleshoot issues with Scaleway Serverless Functions Go build not working due to version error.
content:
h1: Go function build fails due to Go version
paragraph: Troubleshoot issues with Scaleway Serverless Functions Go build not working due to version error.
tags: serverless functions troubleshooting issue error go version build
dates:
validation: 2025-04-30
posted: 2025-04-30
categories:
- serverless
---

## Problem

My Go Serverless Function build failed with an error message mentioning a wrong version.

## Cause

Go function deployment may fail during the build step with a version mismatch error, even if the runtime version appears to be correct.

This is due to the `go.mod` directive that specifies an `X.Y.Z` version where the `Z` patch version does not match the version of the selected runtime.

This happens by default because the `go mod init` command includes the full Go version (including the patch version), which can lead to this mismatch if your runtime only supports a different patch version.

## Possible solution

Remove the `Z` version from the `go.mod` file. In the example below, `X` corresponds to `1`, `Y` to `24`, and `Z` to `1`.

Content of a `go.mod` file with an incorrect `X.Y.Z` (`1.24.1`) version.

```
go 1.24.1
```

The example below shows the content of the `go.mod` file after we have remove the incorrect `Z` version:

```
go 1.24
````