app/views/layouts/application.html.erb
の<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
の箇所で以下のようなエラーで止まったので備忘録。
どうやら、私のRailsにwebpackerがインストールされてないらしい。
Dockerfileにyarnを記載する
Please run rails webpacker:install とあるので、rails webpacker:install
を走らせようとすると、yarnがないと言われます。
これはRails6でwebpackerが標準になったことにより、Railsアプリの開発環境にyarnのインストールが必要になったのが理由です。
パッケージを取得する箇所にyarnをインストールするコマンドを記載してあげて、docker-compose build
をする
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install yarn
# rubyのバージョンを指定
FROM ruby:3.0.0
# パッケージの取得
RUN apt-get update -qq && \
apt-get install -y apt-utils \
build-essential \
libpq-dev \
nodejs \
default-mysql-client
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install yarn
# Dockerコンテナにファイル作成&コピー
RUN mkdir /app
WORKDIR /app
ADD Gemfile /app/Gemfile
ADD Gemfile.lock /app/Gemfile.lock
RUN bundle install -j4
ADD . /app
# コンテナの実行
EXPOSE 3000
docker-compose build
Rails6.1.1 → Rails6.1.3.1にバージョンを上げる
2021/03/31現在、Railsのバージョンが6.1.1のプロジェクトではbundle installが途中で止まってしまう現象が起こる。これはどうやら2021年3月下旬、Ruby on Railsの依存していたmimemagicの0.3.5以下がyank(削除)されたらしいため。そのため以前はbundle installができていた人も急にできなくなる。
-gem 'rails', '~> 6.1.1'
+gem 'rails', '~> 6.1.3.1'
$ bundle update rails
rails webpacker:installをする
docker-compose run app bin/rails webpacker:install
Dockerの再起動
$ docker-compose down
$ docker-compose build
終わり
断片的な記憶を辿って記載したので色々乱雑ですが、参考程度に。
あ、rails assets:precompile
のコマンドもどこかで使った気がする。頑張ってください。