質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

3521閲覧

rails.javascript_pack_tagについて

tk0506

総合スコア3

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/10/18 03:38

編集2020/10/26 07:37

前提・実現したいこと

プロゲートでrails学習が終了したので、
ローカル環境で同じ実行できるようにしたい。

発生している問題・エラーメッセージ

application.html.erbで『<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>』でエラー起きる。

エラーメッセージ

[Webpacker] Compiling... [Webpacker] Compilation failed: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/webpacker-4.3.0/lib/webpacker/webpack_runner.rb:23:in `exec': No such file or directory - C:\サブデスクトップ\Ruby\ruby_lesson\tweet_app\node_modules\.bin/webpack (Errno::ENOENT) from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/webpacker-4.3.0/lib/webpacker/webpack_runner.rb:23:in `block in run' from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/webpacker-4.3.0/lib/webpacker/webpack_runner.rb:22:in `chdir' from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/webpacker-4.3.0/lib/webpacker/webpack_runner.rb:22:in `run' from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/webpacker-4.3.0/lib/webpacker/runner.rb:6:in `run' from ./bin/webpack:17:in `block in <main>' from ./bin/webpack:16:in `chdir' from ./bin/webpack:16:in `<main>' Completed 500 Internal Server Error in 1915ms (ActiveRecord: 0.3ms | Allocations: 11723) ActionView::Template::Error (Webpacker can't find application in C:/サブデスクトップ/Ruby/ruby_lesson/tweet_app/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. Your manifest contains: { } ): 7: 8: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 9: <%# 10行目でエラーになるため、コメントアウト %> 10: <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> 11: </head> 12: 13: <body> app/views/layouts/application.html.erb:10

該当のソースコード

【application.html.erb】 <!DOCTYPE html> <html> <head> <title>TweetApp</title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%# 10行目でエラーになるため、コメントアウト %> <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> </head> <body> <header> <div class="header-logo"> <%= link_to("TweetApp","/") %> </div> <ul class="header-menus"> <li> <%= link_to("TweetAppとは","/about") %> </li> <li> <%= link_to("投稿一覧","/posts/index") %> </li> <li> <%= link_to("新規投稿","/posts/new") %> </li> </ul> </header> <!-- flashは1度だけ表示されるメッセージ --> <% if %> <div class="flash"> <%= flash[:notice] %> </div> <% end %> <!-- 各ビューファイルは以下のyieldに代入され、application.html.erbの一部となる --> <%= yield %> </body> </html>

試したこと

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. Your manifest contains:

下記のエラーアドバイスの中から「1」のみ試しました。
ですが、正しく修正できたかわかりません。

【1の修正内容】
※webpacker.yml...下から3行目

# Note: You must restart bin/webpack-dev-server for changes to take effect default: &default source_path: app/javascript source_entry_path: packs public_root_path: public public_output_path: packs cache_path: tmp/cache/webpacker check_yarn_integrity: false webpack_compile_output: true # Additional paths webpack should lookup modules # ['app/assets', 'engine/foo/app/assets'] resolved_paths: [] # Reload manifest.json on all requests so we reload latest compiled packs cache_manifest: false # Extract and emit a css file extract_css: false static_assets_extensions: - .jpg - .jpeg - .png - .gif - .tiff - .ico - .svg - .eot - .otf - .ttf - .woff - .woff2 extensions: - .svelte - .mjs - .js - .sass - .scss - .css - .module.sass - .module.scss - .module.css - .png - .svg - .gif - .jpeg - .jpg development: <<: *default compile: true # Verifies that correct packages and versions are installed by inspecting package.json, yarn.lock, and node_modules check_yarn_integrity: true # Reference: https://webpack.js.org/configuration/dev-server/ dev_server: https: false host: localhost port: 3035 public: localhost:3035 hmr: false # Inline should be set to true if using HMR inline: true overlay: true compress: true disable_host_check: true use_local_ip: false quiet: false pretty: false headers: 'Access-Control-Allow-Origin': '*' watch_options: ignored: '**/node_modules/**' test: <<: *default compile: true # Compile test packs to a separate directory public_output_path: packs-test production: <<: *default # Production depends on precompilation of packs prior to booting for performance. compile: true #←ここを「false」から「true」に修正 # Extract and emit a css file extract_css: true # Cache manifest.json for performance cache_manifest: true

補足情報(FW/ツールのバージョンなど)

windows 10
Rails 6.0.3.3
yarn 1.22.5
node v12.18.3
npm 6.14.6

対応1[①コンパイルが行われていない。]

リンク先.手順「rm -rf bin/webpack*」を作成中プロジェクトの階層で実行しましたが、 

'rm' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

上記のエラーで実行できませんでした。
やりたいことはwebpackerの再インストールなので、
「作成中プロジェクト\bin\webpack」のファイルを削除し、再実行をしましたが、
webpackが無いとのエラーが出たので、ファイルと戻し、
リンク先.手順「rails webpacker:install」「RAILS_ENV=test bundle exec rails webpacker:compile」の順に実行したところ、
'RAILS_ENV'に関してのエラーがでましたので、「bundle exec rails webpacker:compile」のみを実行しました。
結果、下記のエラーが出ている状況です。

Compiling... Compilation failed: C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/webpacker-4.3.0/lib/webpacker/webpack_runner.rb:23:in `exec': No such file or directory - C:\サブデスクトップ\Ruby\ruby_lesson\tweet_app\node_modules\.bin/webpack (Errno::ENOENT) from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/webpacker-4.3.0/lib/webpacker/webpack_runner.rb:23:in `block in run' from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/webpacker-4.3.0/lib/webpacker/webpack_runner.rb:22:in `chdir' from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/webpacker-4.3.0/lib/webpacker/webpack_runner.rb:22:in `run' from C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/webpacker-4.3.0/lib/webpacker/runner.rb:6:in `run' from ./bin/webpack:17:in `block in <main>' from ./bin/webpack:16:in `chdir' from ./bin/webpack:16:in `<main>'

対応2[②yarnが古くてコンパイルが止まっている。]

リンク先.解決策「brew install yarn」を実行しましたが、

'brew' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

上記のエラーで実行できませんでした。
Webで調べたところ、下記のコマンドでUPDATEをおこないました。

npm uninstall yarn -g npm install yarn -g

その後、「bundle exec rails webpacker:compile」を実行しましたが、
①と同じエラーが出る状況です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasutakatou

2020/10/18 03:46

単にmanifest.jsonが無いというメッセージに見受けられます。 解消するにあたって1. ~4. にアドバイスのメッセージが出ていますが何か実施された事はございますでしょうか?
tk0506

2020/10/22 06:42

遅くなっていしまい、申し訳ありません。 実施したものはございません。
yasutakatou

2020/10/22 07:12

申し訳ないですけど、未実施でしたら解消するかどうか実施をご検討頂く事はできますでしょうか?
tk0506

2020/10/22 07:42

承知致しました。
yasutakatou

2020/10/22 07:56

お手数ですがよろしくお願いします!結果お待ちしております。
tk0506

2020/10/25 09:28

お待たせ致しました。 試したことを追記致しました。 アドバイスメッセージの2~4がWebで調べましたが、理解できず対応できておりません。 お手数おかけしますが、宜しくお願い致します。
yasutakatou

2020/10/26 01:15

ご対応ありがとうございます!1.の対処はあっているかと思います。 エラーログと状況を鑑みて、僕としては以下で対処できるかと予想しております。 ①コンパイルが行われていない。  https://qiita.com/natecotus/items/a2bd9f3ebd5b1866d48e ②yarnが古くてコンパイルが止まっている。  https://qiita.com/masatwork/items/1b5d190cc76f5eeffbb7 こちらのどちらかと思いました。ご対応を検討頂く事は可能でしょうか?
tk0506

2020/10/26 02:52

ご丁寧にありがとうございます。 試してみますのでしばらくお待ちください。
yasutakatou

2020/10/26 04:44

いえいえ。お手数おかけします。出来る限りで調査しましたが解消方法外してたら申し訳ないです!
tk0506

2020/10/26 07:38

お待たせ致しました。 対応1、2を追記しましたので、 ご確認の程、宜しくお願い致します。
yasutakatou

2020/10/27 00:15

大変申し訳ないです。Windows環境でしたね。。参考に記載させて頂いた記事はLinuxなので環境差で 実行エラーになっている点が出てしまっています。とはいえbundle execがエラーになるのが分からないんですよ。。bundleコマンドがあって、execがエラーになっているように見えるので次の対処方法が思いつかないでいます。
tk0506

2020/10/27 22:33

承知致しました。 調査して頂き、ありがとうございました。
tk0506

2020/10/29 01:31

ありがとうございます。 試してます。
issei126

2020/11/01 02:07

`$ bundle exec rails webpacker:info` を実行するとどうなるでしょうか? 手元正常に動作する環境では以下のようになります。 ``` $ bundle exec rails webpacker:info Ruby: ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19] Rails: 6.0.3.4 Webpacker: 4.3.0 Node: v14.15.0 Yarn: 1.22.10 @rails/webpacker: blog_app@0.1.0 /Users/issein/github/blog-app └── @rails/webpacker@4.3.0 Is bin/webpack present?: true Is bin/webpack-dev-server present?: true Is bin/yarn present?: true ``` 私はMacOSなので表示が多少変わると思います。
guest

回答1

0

ベストアンサー

1)この環境はProgateと一致していますか?rubyも確認しておくのが良いです。
Rails 6.0.3.3
yarn 1.22.5
node v12.18.3
npm 6.14.6
私の経験ではyarn,node,npmのversion違いでの経験はありませんが、Railsのversion違いは影響大きいです。

2)今後Railsをもっと勉強していくのでしたらLinux環境を作ってそこでやることを薦めます。理由
Progateを初め多くのチュートリアルがCrowd9を使っているのは、Windowsだと+αの障壁があるからです

投稿2020/11/01 02:21

winterboum

総合スコア23567

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問