Estoy intentando ejecutar mi instalación de desarrollo en mi portátil Linux.
Tengo un script que obtiene las versiones de Ruby, imagemagick y nodejs de discourse_docker y las establece con asdf. Aquí hay una parte de él:
RUBY_VERSION=$(grep "^ARG RUBY_VERSION" $DISCOURSE_DOCKER_SRC/image/base/slim.Dockerfile |cut -d'=' -f2)
echo "GOT RUBY VERSION!! $RUBY_VERSION"
asdf install ruby $RUBY_VERSION
asdf global ruby $RUBY_VERSION
IMAGE_MAGICK_VERSION=$(grep -e ^IMAGE_MAGICK_VERSION ~/src/discourse-repos/discourse_docker/image/base/install-imagemagick|cut -d'"' -f2)
echo "GOT IMAGE_MAGICK_VERSION: $IMAGE_MAGICK_VERSION"
asdf install imagemagick $IMAGE_MAGICK_VERSION
asdf global imagemagick $IMAGE_MAGICK_VERSION
# 2023-04-24 debian and pop!os have different nodejs versions
NODE_VERSION=$(docker run discourse/base:release bash -c 'node --version'|cut -d'v' -f2)
#NODE_VERSION=$(grep node ~/src/discourse-repos/discourse/.tool-versions|awk '{print $2}')
echo "GOT NODEJS version: $NODE_VERSION"
asdf install nodejs $NODE_VERSION
asdf global nodejs $NODE_VERSION
Pero cuando ejecuto bin/ember-cli obtengo esto:
./bin/ember-cli
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
error ember-template-lint@6.0.0: The engine "node" is incompatible with this module. Expected version "^18.18.0 || ^20.9.0 || >=21.1.0". Got "18.17.1"
error Found incompatible module.
18.17.1 es la versión en Discourse. ¿Por qué necesito una versión diferente para el desarrollo que la que está ejecutando Discourse?
Cuando actualizo a 18.18.0 y luego ejecuto ember-cli, obtengo un “SyntaxError: Unexpected token in JSON at position 219260”. . . algo que no puedo entender del todo.
¿Ahora qué intento?
¿Hay alguna forma fiable de ver que mi entorno de desarrollo es apropiado para hacer desarrollo? Parece que una vez al mes paso una hora o más intentando que mi sistema de desarrollo funcione. ¿La gente (como @sam y @falco) realmente usa el entorno de desarrollo docker? ¿Quizás debería apuntar a ese contenedor para obtener las versiones de Ruby y Node?