質問: webアプリケーションを制作しながら勉強中です。 参考書(Rails4.1対応)に従いながら学習を進めていますが、自力で解決できないので質問させていただきます。 (rails5.1.3で開発しているので参考書とのバージョンのズレが生じているのだと思います。) アセットをプリコンパイルしたときのコードおよびエラー。 ``` [vagrant@localhost chibi]$ rails assets:precompile RAILS_ENV=production Yarn executable was not detected in the system. Download Yarn at https://yarnpkg.com/en/docs/install ``` エラーではないのかもしれませんが上記のように表示され、上手く動いてくれていないのか、そのまま $ rails s -e production を 実行した後で、ブラウザをリロードすると私がブラウザに表示したい画面とは違う画面が表示されてしまいます。 Yarn executable was not detected in the system. をネットで調べてみましたが、 Rils5.1からwebpackが標準装備されるとかYarnのバージョンのことなどが書かれていますが意味がわからず対応できずにいます。 ググって出てきた内容は下記になります。 ``` Rails5.0.1でプロジェクトを作成し、Gemfileに gem 'webpacker', github:'rails/webpacker' としてmasterから取ってくる。(rails webpacker:install:react を使いたかったため) bundle install なりでインスコ出来たら bundle exec rails webpacker:install で必要ファイルを生成する。 生成できたらbundle exec rails webpacker:install:reactとすることでReactのファイルが生成されたりします。 bundle exec rails webpacker:install:reactを実行した際に、Yarn executable was not detected in the system.と怒られる場合があります。 僕の場合、yarnのバージョンが古くてyarnpkgのエイリアスが入っていなかったので怒られていました。 ``` 調べたとおりにやろうとしましたが、私の場合、すでに Yarn executable was not detected in the system. と表示されて しまっているのでそれも違うような感じがしています。 エラー内容に Download Yarn at https://yarnpkg.com/en/docs/install とありますので、ダウンロード・インストールを しようと思いますがダウンロード・インストールしたYarnというものをどこのディレクトリに保存すればいいのでしょうか? それとも、ダウンロード・インストールした状態のままでもよいのでしょうか? 対応の方法など教えていただけませんでしょうか?宜しくお願いします。
回答: Webpackerは、RailsでReactなど巨大なJavaScriptアプリを運用するための基盤となるものです。 ...が、「Railsで生成したHTML + jQuery」程度で十分、という向きには、明らかに**過剰装備**です。 Yarnもnpmも使ったことがない、というような状況であればWebpackerは確実に不要なので、`Gemfile`から外してしまう、というのがいちばん合理的な選択肢だと思います(ビュー側からもWebpack用のJavaScript読み込みコードを消す必要があるかと思います)。