Webpackerを有効にしたRailsプロジェクトを開発してて、「app/javascript/packs/内のJavaScriptがwebpack経由でES6使えるならapp/assets/javascripts/のsprockets経由のES6使えないJavaScript使う意味ないじゃん…」と思って最初assetsのほうに書いてたJSをpacksに移したんですよ。そしたら書いたJSの変更が反映されなくて、コンソール見たら
No such file or directory – /app/node_modules/.bin/webpack (Errno::ENOENT)
とかいう謎のエラーが。
[Webpacker] Compilation failed:
/usr/local/bundle/gems/webpacker-3.5.5/lib/webpacker/webpack_runner.rb:11:in `exec': No such file or directory - /app/node_modules/.bin/webpack (Errno::ENOENT)
Docker使ってたのでコンテナの永続化関連の問題かRailsかでまた悩んだりしたんですが、なんか結果的に
docker-compose run --rm [コンテナ名] rails webpacker:install
(docker使ってない人はbundle exec railsや直railsに置き換えてください)
これで治りました。docker-compose downしてupしても再発してなかったし大丈夫なはず…。プロジェクト作ったとき最初にRailsが色々やってたからそんなインストールコマンドなんて実行されてるものだと思ってた。。
コメント