0
0

More than 3 years have passed since last update.

【Rails + Vue.js + docker環境】Webpackerが取り込めない原因と対処法

Last updated at Posted at 2021-02-24

発生したエラーと、解決手順

コンポーネントをjavascriptへコンパイル時にエラー発生

$ docker-compose run web bin/webpack

↓エラー

starting container process caused: exec: "bin/webpack": stat bin/webpack: no such file or directory: unknown

webpackがないということでインストール。

【参考】
Webpackerを使ったRailsでwebpackがNo such file or directory

webpackerのインストール

$ docker-compose run --rm web rails webpacker:install

すると下記エラー。

Don't know how to build task 'webpacker:install' (See the list of available tasks with `rails --tasks`)

'webpacker:install'が認識さrていないということで、
Gemファイルにgem 'webpacker', github: "rails/webpacker"を追記し、$ docker-compose run --rm web bundle installを行いました。

【参考】
【Ruby on Rails】bundle exec rails webpacker:installするとDon’t know how to build task ‘webpacker:install’というエラーに遭遇した

bundle installを行う

$ docker-compose run --rm web bundle install

これで、インストールはOK

そしてもう一度。

しかし、、、

$ docker-compose run --rm web rails webpacker:install

しかし、またエラー。

Could not find rack-proxy-0.6.5 in any of the sources
Run `bundle install` to install missing gems.

Dockerfileを更新したなどの理由でキャッシュを使用されることで bundle install が実行されない場合があるみたいです。
キャッシュを使わずにbuildを再度行う。

キャッシュを使わずにbuildし直す

$ docker-compose build --no-cache

(しばし、待ちます)

【参考】
Dockerでコンテナ内にbundle installされない問題の解決法

そして再度、webpackerのinstallを行う。

解決させる

$ docker-compose run --rm web rails webpacker:install

お、インストールできた。

      create  config/webpacker.yml
Copying webpack core config
      create  config/webpack
      create  config/webpack/base.js
      create  config/webpack/development.js
      create  config/webpack/production.js
      create  config/webpack/test.js
・
・
・

最後に、コンポーネントをjavascriptへコンパイルすると、、、

$ docker-compose run --rm web bin/webpack
webpack 5.24.1 compiled successfully in 21298 ms

ばっちしです👍

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