Le préfixeur automatique ne prend pas en charge Node v4.8.2. Mettez-le à jour. Erreur survenue dans Rails [Docker Rails 5 Bootstrap]

introduction

Lorsque je développais Rails avec Docker, l'erreur suivante s'est soudainement produite et je n'ai pas pu ouvrir l'application. 6f7d96c8994be656c8439daf32b138aa.png

Tout d'abord, si vous regardez l'énoncé d'erreur, il est dit "Autoprefixer ne prend pas en charge Node v4.8.2. Mettez à jour.", Et une fois traduit, "Autoprefixer ne prend pas en charge Node v4.8.2. Veuillez mettre à jour." . ".

Lorsque je vérifie la version de Node.js en exécutant la commande suivante, il semble que ce soit v4.8.2 comme indiqué dans la déclaration d'erreur.

docker-compose run app nodejs -v
v4.8.2

Cause

Après enquête, j'ai trouvé que Bootstrap était la cause. Dans le code source de Bootstrap, le préfixe du fournisseur n'est pas intentionnellement décrit et tout est laissé à un module appelé Autoprefixer, et ce module n'accepte pas la version v.4.8.2 de Node.js.

Une fois que vous connaissez la cause, traitez-la! Changer la version de Node.js dans le conteneur devrait le résoudre ...

approche

Le système d'exploitation qui compose le conteneur Rails est debian Linux, et vous pouvez ajouter le référentiel (source d'acquisition de logiciel) utilisé par la commande apt-get de la commande de gestion de paquet debian "apt". Ajoutez le référentiel Node.js version 10 avant l'apt-get Node.js décrit dans le Dockerfile.

Dockerfile


+ RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -

RUN apt-get update -qq && \
    apt-get install - y build-essential \
            libpq-dev \
            nodejs

Cela installera la version 10 de Node.js. Si le conteneur est en cours d'exécution, arrêtez-le, reconstruisez-le sans utiliser le cache, puis démarrez-le.

docker-compose stop
docker-compose build --no-cache
docker-compose up -d

finalement

L'écran de l'application était affiché normalement avec le support ci-dessus. スクリーンショット 2020-11-05 7.52.30.png

Je suis heureux.

Recommended Posts

Le préfixeur automatique ne prend pas en charge Node v4.8.2. Mettez-le à jour. Erreur survenue dans Rails [Docker Rails 5 Bootstrap]
[Docker] Une histoire sur une erreur dans la composition de docker
Erreur dans les rails docker db: migrate (StandardError: Une erreur s'est produite, toutes les migrations ultérieures ont été annulées :)