nishikawa1031
@nishikawa1031 (tako tako)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Don't know how to build task 'webpacker:install:react'

解決したいこと

既存のrailsアプリにreact_on_railsを導入しようとしています。

Can't resolve 'react-on-rails' in '/myapp/app/javascript/packs'
と言われたので、bundle exec rails webpacker:install:react を忘れていたからかと思い、実行しようとしたところ、Don't know how to build task 'webpacker:install:react' と言われて実行できず困っています。

発生している問題・エラー

error.txt
docker-compose run web bundle exec rails webpacker:install:react
[+] Running 1/0
 - Container app710_db_1  Running                                                                0.0s
rails aborted!
Don't know how to build task 'webpacker:install:react' (See the list of available tasks with `rails --tasks`)

該当するソースコード

FROM ruby:2.7.0
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 postgresql-client vim && \
  apt-get install -y yarn && \
  apt-get install -y imagemagick && \
  apt-get install -y libvips-tools && \
  apt-get install -y locales

RUN curl -sL https://deb.nodesource.com/setup_7.x | bash - && \
    apt-get install nodejs

RUN mkdir /myapp
WORKDIR /myapp
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
COPY . /myapp

# Add a script to be executed every time the container starts.
COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
EXPOSE 3000

# Start the main process.
CMD ["rails", "server", "-b", "0.0.0.0"]

自分で試したこと

webpacker6からは、 "webpacker:install:react" というコマンドがない...?
https://github.com/rails/webpacker/pull/2802/files#diff-732190763be8d3bbace9bb6cf378c147a0adbeeb757e055cd3eae696c1cf866bL13
2020年11月21日以降の記事をみないといけない??

この状態でrailsサーバーを立ち上げた場合

error.txt
Webpacker can't find hello-world-bundle.js in /myapp/public/packs/manifest.json. Possible causes:
1. You want to set webpacker.yml value of compile to true for your environment
   unless you are using the `webpack -w` or the webpack-dev-server.
2. webpack has not yet re-run to reflect updates.
3. You have misconfigured Webpacker's config/webpacker.yml file.
4. Your webpack configuration is not creating a manifest.

意味
1,webpack -wまたはwebpack-dev-serverを使用していない限り、ご使用の環境でcompileのwebpacker.yml値をtrueに設定する必要があります。
2,webpackは、更新を反映するためにまだ再実行されていません。
3,Webpackerのconfig / webpacker.ymlファイルを誤って構成しました。
4,Webpack構成がマニフェストを作成していません。

0

1Answer

Can't resolve 'react-on-rails' in '/myapp/app/javascript/packs' のエラーは JavaScript 側のエラーのため以下コマンドを実行いただくと解決できるとおもいます

yarn add react-on-rails --exact

Reference

0Like

Your answer might help someone💌