1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Docker環境下のRails6.1.1でRuntimeError in Home#indexのような表記になる

Last updated at Posted at 2021-03-31

app/views/layouts/application.html.erb<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>の箇所で以下のようなエラーで止まったので備忘録。

スクリーンショット 2021-04-01 0.07.24.png

どうやら、私の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

スクリーンショット 2021-04-01 0.56.27.png

Dockerの再起動

$ docker-compose down
$ docker-compose build

終わり

断片的な記憶を辿って記載したので色々乱雑ですが、参考程度に。

あ、rails assets:precompileのコマンドもどこかで使った気がする。頑張ってください。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?