LoginSignup
12
10

More than 3 years have passed since last update.

Webpacker::Manifest::MissingEntryError

Last updated at Posted at 2020-07-11

画像のエラーを解決するのに手間取りすぎたから、備忘録メモです。

スクリーンショット 2020-07-10 16.38.40.png

先に結論

僕の場合はdocker-compose run --rm web yarn installしたら解決した

環境

【環境】
・Ruby 2.6.6
・Rails 6.0.3.2
・Docker

webpackerについて参考にさせていただいた記事

Dockerfile

qiita.rb
FROM ruby:2.6

# install package to docker container
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev \
    && apt-get install apt-transport-https \
    && 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 && apt-get install -y yarn \
    && curl -sL https://deb.nodesource.com/setup_10.x | bash - \
    && apt-get install -y nodejs \
    && mkdir /アプリ名

WORKDIR /FANTRA
COPY Gemfile /アプリ名/Gemfile
COPY Gemfile.lock /アプリ名/Gemfile.lock

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

確認したこと

  • webpackerインストールしてるか?
    • rails webpacker:install 実行ずみ (実行すると、conflict config/webpacker.ymlが出る)
  • yarnインストールしてるか?
    • 1.22.4
  • nodejsインストールしてるか?
    • v10.21.0

必要な物は揃っているはずなのになぜかできない。。。

わかってなかったこと

そもそもwebpackとは?

Webpackとは、CSS、JavaScript、画像などを1つのファイルとしてまとめるためのモジュールバンドラーで、node.jsのモジュールの1つ。

yarn ないし npm はruby でいうところのbundlerで、ライブラリを管理してくれるnodejsのツールのこと。
bundle installしないと ruby のライブラリが利用できないのと同じようにyarn installを実行しないと、 package.json によって指定されている nodejs ライブラリがダウンロードされず実行できないらしい。
webpack はnodejs のライブラリやから、このエラーを解消するためにはyarn installbundle install と同じような取り扱いで実行する必要があるらしい。

yarn installをしてみる

qiita.rb
 $  docker-compose run --rm web yarn install 

無事にエラーを解決することができました。

メモ

DockerfileのRUNしてるものとかymlの内容とかで実行しないといけないコマンド違ってくるのかな??

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10