[RUBY] Über "Garninstallation --check-files" ausführen, um zu aktualisieren.

Es ist ein Memorandum, weil ich bei der Verwendung von Docker vom folgenden Fehler abhängig war.

【Umgebung】

・ Ruby 2.7.1 ・ Schienen 6.0.3.4 ・ Docker

Dockerfile

FROM ruby:2.7.1
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
    && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
    && apt-get update -qq \
    && apt-get install -y nodejs yarn \
    && mkdir /myapp
WORKDIR /myapp
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
COPY . /myapp

COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
EXPOSE 3000

CMD ["rails", "server", "-b", "0.0.0.0"]

Phänomen

Klonen Sie die Umgebung, die von der Teamentwicklung lokal auf git hochgeladen wurde. Es gab ein Phänomen, dass der Docker-Container beim Ausführen von Docker-Compose abstürzte. Als ich das Protokoll überprüfte, stellte ich den folgenden Garnfehler fest.

error Couldn't find an integrity file
error Found 1 errors.


========================================
  Your Yarn packages are out of date!
  Please run `yarn install --check-files` to update.
========================================


To disable this check, please change `check_yarn_integrity`
to `false` in your webpacker config file (config/webpacker.yml).
* Wenn Sie sich zum Schluss beeilen möchten, scrollen Sie bitte nach unten. (Weil es lang ist)

Lesen Sie zunächst den folgenden Artikel als Gegenmaßnahme für diesen Fehler. Wir haben die folgenden Änderungen übernommen. https://qiita.com/KenAra/items/2708ce3d5c80c4f24920

config/webpacker.yml


# Verifies that correct packages and versions are installed by inspecting package.json, yarn.lock, and node_modules
check_yarn_integrity: false  #Das Garn wurde nicht geändert

Mit dieser Unterstützung wurde auch der Docker gestartet → Schienenbildschirm angezeigt.

スクリーンショット 2020-11-15 16.47.27.jpg

Ich war jedoch für eine Weile erleichtert.

Modellgenerierung mit Gerüst → Schienen db: migrieren Okay, lass uns den Indexbildschirm überprüfen.

スクリーンショット 2020-11-09 15.02.32.jpg

Um diesen Fehler zu beheben, habe ich auf den folgenden Artikel und das folgende Problem verwiesen. https://qiita.com/natecotus/items/a2bd9f3ebd5b1866d48e https://qiita.com/takuma_0625/items/2709f81ffa005fde2188 https://github.com/rails/webpacker/issues/2071

Ich habe Docker mit Docker-Compose Web Bash aufgerufen und die folgende Installation ausgeführt.

rails webpacker:install

Ja, der Fehler wurde erfolgreich behoben und ich konnte den Schienenbildschirm erneut überprüfen.

Ich habe versucht, den Unterschied zu überprüfen, was geändert wurde, als der obige Befehl ausgeführt wurde.

config/webpacker.yml


# Verifies that correct packages and versions are installed by inspecting package.json, yarn.lock, and node_modules
check_yarn_integrity: true

Das war alles. Und das? Ich bin wieder da ...

Was wurde geändert, als der Garnfehler behoben wurde? Die Ursache des ersten Fehlers ist ein Rätsel geworden. Wenn ich nur mit dieser Bewältigungsmethode erneut klonierte, bemerkte ich außerdem, dass das Problem des ersten Garns wahrscheinlich erneut auftrat, und ich war besorgt, sodass ich eine erneute Untersuchung durchführte.

Bitte beachten Sie Folgendes und klonen Sie in einer anderen Umgebung erneut Der folgende Befehl wurde ausgeführt, nachdem "Webpacker :: Manifest :: MissingEntryError" aufgetreten ist. https://qiita.com/ashketcham/items/48d64e960d436f8b6f78

$ docker-compose run --rm web yarn install 

→ Ja, das Problem wurde auch hier gelöst. Vielen Dank, Senioren.

Warum wurde es gelöst, indem $ rails webpacker: install ausgeführt wurde? Ich habe es verstanden, als ich das Protokoll zum Zeitpunkt der Ausführung überprüft habe. Wenn webpacker: install ausgeführt wurde, wurde gleichzeitig auch die Garninstallation ausgeführt.

Zum Abschluss ... Diese Problemumgehung besteht darin, dass die Garninstallation beim Ausführen von Docker-Compose ausgeführt wird Titel dieses Falles 「Please run yarn install --check-files to update.」 Vor dem Auftreten von $ docker-compose run --rm web yarn install Ich frage mich, ob es kein Problem gab, wenn ich ausgeführt habe.

Damit → Ich habe mich erneut verpflichtet und bestätigt.

Fazit

Wenn der folgende Fehler im Protokoll auftritt, ohne den Container mit Docker-Compose zu starten

========================================
  Your Yarn packages are out of date!
  Please run `yarn install --check-files` to update.
========================================

Ich konnte es lösen, indem ich den folgenden Befehl ausführte (Garninstallation beim Starten des Dockers).

$ docker-compose run --rm web yarn install

Ursachen und Eindrücke

Wenn ich es zurück lese. Garnpaket ist alt! Ich bin verärgert. Es scheint, dass das Garnpaket nur gleichzeitig mit der Bildkonstruktion → Start mit Docker-Lauf aktualisiert werden musste.

das ist alles. Weil die folgenden zwei Punkte bestätigt wurden Ich vermutete, dass sich das Ausführungsergebnis der Garninstallation in der Erstellung des Docker-Images widerspiegelte.

Recommended Posts

Über "Garninstallation --check-files" ausführen, um zu aktualisieren.
Installieren Sie Webpacker und Yarn, um Rails auszuführen
So installieren Sie Docker
So installieren Sie Docker-Maschine
So installieren Sie MySQL