DespliegueVersiones de runtime

Fijar la versión de Node.js, Python, Go o Ruby

Lizard (lizard.build) lee la versión del runtime de archivos de tu proyecto cuando lizardpack lo compila: .nvmrc o engines.node para Node.js, .python-version o requires-python para Python, la línea go de go.mod para Go, y .ruby-version o la línea ruby del Gemfile para Ruby. Para cambiar la versión, edita ese archivo y vuelve a desplegar. Si no hay ninguno, Lizard usa Node.js 22, Python 3.13, Go 1.24 o Ruby 3.4.

Estado de las pruebas: comprobamos cada regla de esta página el 2026-10-12 ejecutando lizardpack, el planificador de compilación que usan los servidores de compilación de Lizard, sobre proyectos de ejemplo.

Dónde busca Lizard

LenguajeArchivos, gana el primero que coincideParte de la versión que se usaPor defectoImagen base
Node.js.nvmrc, .node-version, .tool-versions (nodejs o node), engines.node en package.jsonMayor: 20.11.1 → 2022node:<major>-slim
Python.python-version, .tool-versions (python), requires-python en pyproject.tomlMayor y menor: 3.12.4 → 3.123.13python:<x.y>-slim
GoLa línea go de go.modMayor y menor: 1.24.3 → 1.241.24golang:<x.y>-alpine para compilar, alpine:3.19 para ejecutar
Ruby.ruby-version, la línea ruby del GemfileMayor y menor: 3.4.1 → 3.43.4ruby:<x.y>-slim

Lizard quita el número de parche y compila sobre la etiqueta oficial de la imagen para esa línea, así que cada compilación recibe la versión de parche más reciente a la que apunta la etiqueta en ese momento.

Estos archivos solo cuentan cuando lizardpack escribe el Dockerfile. Consulta cuándo ignora Lizard los archivos de versión.

Cambiar la versión de Node.js

echo 24 > .nvmrc
lizard up --service web

Con un servicio de GitHub, haz commit del archivo y push. Reglas:

  • Escribe un número: 24, v24 y 24.1.0 eligen Node.js 24. Lizard salta las líneas que empiezan por #.
  • Lizard salta lts/* y node en .nvmrc y pasa al siguiente archivo. Otros alias, como lts/iron, los usa tal cual, y la compilación falla.
  • .nvmrc tiene prioridad sobre engines.node.
  • engines.node da la versión más baja de su rango: >=18 compila sobre Node.js 18, y ^20.11.0, sobre Node.js 20. Un rango con ||, como 18 || 20, hace fallar la compilación.

Cambiar la versión de Python

echo 3.12 > .python-version
lizard up --service web
  • .python-version debe contener un número de versión como 3.12 o 3.12.4. Lizard salta las líneas que empiezan por #. También salta otros valores, como pypy3.10, y pasa al siguiente archivo.
  • requires-python = ">=3.11" compila sobre Python 3.11, la versión más baja del rango.
  • Un rango con límite superior, como ">=3.11,<3.14", produce un nombre de imagen que no existe y la compilación falla. Añade un archivo .python-version; tiene prioridad.
  • Lizard no lee runtime.txt.

Cambiar la versión de Go

go mod edit -go=1.25
lizard up --service api

Lizard solo lee la línea go. No lee la línea toolchain.

Cambiar la versión de Ruby

echo 3.4.1 > .ruby-version
lizard up --service web

Escribe solo el número. rails new escribe ruby-3.4.1, y Lizard no quita el prefijo ruby-, así que la compilación falla. Una línea del Gemfile como ruby "~> 3.3.0" compila sobre Ruby 3.3. Una app Rails que conserva su Dockerfile generado toma la versión de ese archivo; consulta Desplegar una app Rails.

Cuándo ignora Lizard los archivos de versión

  • Tu propio Dockerfile. Manda su línea FROM, por ejemplo FROM node:24-slim. Consulta Desplegar un contenedor Docker desde un Dockerfile.
  • Un comando de compilación o de inicio en el servicio. En ese caso, Lizard escribe un Dockerfile a partir de los comandos sobre una imagen fija: node:22-alpine, python:3.13-slim o golang:1.24-alpine, según la primera palabra del comando. Para volver a los archivos de versión, borra los dos:
lizard service set web --set buildCommand= --set startCommand=

Borrar buildCommand en un servicio en marcha lanza una recompilación por sí solo. Revisa lizard events antes de ejecutar lizard redeploy, para no poner en cola una segunda compilación. Consulta el orden de decisión de la compilación.

Comprobar qué versión usó una compilación

lizard logs --build --service web

El log de compilación nombra la imagen base, como node:24-slim o python:3.12-slim. Para comprobar la versión en tiempo de ejecución, imprímela al arrancar la app, por ejemplo process.version en Node.js o sys.version en Python, y lee lizard logs --service web.

Ver también

Actualizado