Errno::ENOENT: No such file or directory @ rb_sysopen webpacker:compile Issues for Rails depoloyment

Viewed 1150

Really stumped on this one. Have previously upgraded from rails 5.x -> 6 and deployed successfuly where everything compiled fine and is in complete working order. However just made a new branch to do a theme update which involves adding just a few additional yarn packages, no real major configuration changes...

the part that really gets me is the reference to '/usr/share/icons/Humanity/apps/48/*' which is called nowhere within any of my codebase. Its very hard to debug because its referencing a call to an area I have no concern with in my app. Any advice on how to resolve this issue would be greatly appreciated...

Setup is Ruby 2.5.1, Rails 6, Webpacker, Mina deployment...everything on localhost is basically identical to remote in terms of software versions.

warning " > sass-loader@8.0.2" has unmet peer dependency "webpack@^4.36.0 || ^5.0.0".
warning " > webpack-dev-server@3.10.3" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
warning "webpack-dev-server > webpack-dev-middleware@3.7.2" has unmet peer dependency "webpack@^4.0.0".
[4/4] Building fresh packages...
Done in 14.46s.
       ** Execute assets:precompile
       ** Invoke webpacker:compile (first_time)
       ** Invoke webpacker:verify_install (first_time)
       ** Invoke webpacker:check_node (first_time)
       ** Execute webpacker:check_node
       Warning: you are using an unstable release of Node.js (v13.10.1). If you encounter issues with Node.js, consider switching to an Active LTS release. More info: https://docs.npmjs.com/try-the-latest-stable-version-of-node
       ** Invoke webpacker:check_yarn (first_time)
       ** Execute webpacker:check_yarn
       ** Invoke webpacker:check_binstubs (first_time)
       ** Execute webpacker:check_binstubs
       ** Execute webpacker:verify_install
       ** Invoke environment 
       ** Execute webpacker:compile
       rake aborted!
       **Errno::ENOENT: No such file or directory @ rb_sysopen** - /usr/share/icons/Humanity/apps/48/catfish.svg
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/webpacker/compiler.rb:58:in `block in watched_files_digest'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/webpacker/compiler.rb:58:in `map'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/webpacker/compiler.rb:58:in `watched_files_digest'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/webpacker/compiler.rb:38:in `fresh?'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/webpacker/compiler.rb:43:in `stale?'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/webpacker/compiler.rb:22:in `compile'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/webpacker/commands.rb:51:in `compile'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/webpacker.rb:35:in `compile'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/tasks/webpacker/compile.rake:23:in `block (4 levels) in <top (required)>'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/webpacker.rb:28:in `ensure_log_goes_to_stdout'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/tasks/webpacker/compile.rake:22:in `block (3 levels) in <top (required)>'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/webpacker.rb:20:in `with_node_env'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/tasks/webpacker/compile.rake:21:in `block (2 levels) in <top (required)>'
       /home/ubuntu/dashboard/shared/vendor/bundle/ruby/2.5.0/bundler/gems/webpacker-5d27155bf7ae/lib/tasks/webpacker/compile.rake:14:in `block in enhance_assets_precompile'
       /home/ubuntu/dashboard/tmp/build-15941584704646/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
       /home/ubuntu/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
       /home/ubuntu/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
       Tasks: TOP => webpacker:compile
       (See full trace by running task with --trace)
 !     ERROR: Deploy failed.
-----> Cleaning up build
       Unlinking current
       OK```
1 Answers

Still don't know what caused the specific issue for it to fail with that error; however my next line of thought was to check for resolving those unmet dependency warnings by performing a combination things seemed to have resolved that specific issue; Those things include :

-- Changed nvm Node version default from (13 --> 13.10.1)
   --> nvm alias default 13.10.1
   --> nvm use default
-- bundle update rails webpacker (updated to 5.x.x)
-- yarn install 

I believe that is what worked for that issue, but then another one was raised: Zeitwerk::NameError: expected file /some/file/path to define constant and that was 'resolved' by changing Zeitwerk load mode to classic. in application.rb, comment out config.load_defaults 6.0 and set below that config.autoloader = :classic. I believe this was because I had some specific modules being loaded and there is a different way to load them. So I believe that is the 'monkeypatch' solution for now until further investigated.

Related