Quando si seleziona l’opzione Usa i Buildpack per impostare l’immagine del container, se non si specifica una versione nel codice dell’applicazione, il Buildpack utilizzerà l’ultima versione disponibile. Se si vuole usare una versione di linguaggio diversa per la propria applicazione, è necessario impostare la versione nei file dell’applicazione.

Il metodo per impostare la versione varia a seconda del linguaggio. Di seguito riportiamo degli esempi per i linguaggi attualmente supportati.

Go

Per specificare la versione di Go, includere quanto segue nel file go.mod dell’applicazione:

// +heroku goVersion go1.11
go 1.21.1

Java

Per specificare la versione di Java, includere quanto segue nel file system.properties dell’applicazione:

java.runtime.version=11

Node.JS

Per specificare la versione di Node.js e la versione di npm, includere quanto segue nel file package.json della tua applicazione:

"engines": {
  "node": "^16.14.0",
  "npm": "^8.3.1"
}

React

Se si usa React e si vuole specificare la versione di React, sostituire o aggiungere la versione di React nel campo dependencies del file package.json:

"react": "^17.0.2"

Per impostare anche le versioni di Node.js e npm nell’applicazione React, includere quanto segue nel file package.json dell’applicazione:

"engines": {
  "node": "^16.14.0",
  "npm": "^8.3.1"
}

PHP

Per specificare la versione di PHP, includere quanto segue nel file composer.json dell’applicazione:

{
  "require": {
    "php": "~8.1.0"
  }
}

Python

Per specificare la versione di Python, basta includere quanto segue nel file runtime.txt dell’applicazione:

python-3.10.13

È possibile specificare le versioni dei moduli anche nel file requirements.txt:

Django==4.1
virtualenv==20.18.0

Ruby

Per specificare la versione di Ruby, includere nel Gemfile quanto segue:

ruby "3.0.6"

Scala

Per specificare la versione di Scala, includere quanto segue nel file build.sbt dell’applicazione:

scalaVersion := "3.2.2"

Documentazione correlata