Autoprefixer unterstützt Node v4.8.2 nicht. Aktualisieren Sie es. Fehler, der in Rails aufgetreten ist [Docker Rails 5 Bootstrap]

Einführung

Als ich Rails mit Docker entwickelte, trat plötzlich der folgende Fehler auf und ich konnte die App nicht öffnen. 6f7d96c8994be656c8439daf32b138aa.png

Wenn Sie sich die Fehleranweisung ansehen, heißt es zunächst: "Autoprefixer unterstützt Node v4.8.2 nicht. Aktualisieren Sie es." Und übersetzt: "Autoprefixer unterstützt Node v4.8.2 nicht. Bitte aktualisieren." . ".

Wenn ich die Version von Node.js überprüfe, indem ich den folgenden Befehl ausführe, scheint es v4.8.2 zu sein, wie in der Fehleranweisung gezeigt.

docker-compose run app nodejs -v
v4.8.2

Ursache

Bei einer Untersuchung stellte ich fest, dass Bootstrap die Ursache war. Im Bootstrap-Quellcode wird das Herstellerpräfix nicht absichtlich beschrieben, und alles bleibt einem Modul namens Autoprefixer überlassen. Dieses Modul akzeptiert keine Node.js-Version v.4.8.2.

Sobald Sie die Ursache kennen, kümmern Sie sich einfach darum! Das Ändern der Version von Node.js im Container sollte das Problem lösen ...

Ansatz

Das Betriebssystem, aus dem der Rails-Container besteht, ist Debian Linux, und Sie können das Repository (Software-Erfassungsquelle) hinzufügen, das vom Befehl apt-get des Debian-Paketverwaltungsbefehls "apt" verwendet wird. Fügen Sie das Node.js-Repository der Version 10 vor dem im Dockerfile beschriebenen apt-get von Node.js hinzu.

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

Dadurch wird Version 10 von Node.js installiert. Wenn der Container ausgeführt wird, stoppen Sie ihn, erstellen Sie ihn neu, ohne den Cache zu verwenden, und starten Sie ihn dann.

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

Schließlich

Der Anwendungsbildschirm wurde normal mit der oben genannten Unterstützung angezeigt. スクリーンショット 2020-11-05 7.52.30.png

Ich bin glücklich.

Recommended Posts

Autoprefixer unterstützt Node v4.8.2 nicht. Aktualisieren Sie es. Fehler, der in Rails aufgetreten ist [Docker Rails 5 Bootstrap]
[Docker] Eine Geschichte über einen Fehler beim Erstellen von Docker
Fehler in Docker-Schienen db: migrate (StandardError: Ein Fehler ist aufgetreten, alle späteren Migrationen wurden abgebrochen :)