【问题标题】:Errno::ENOENT: No such file or directory @ rb_sysopen webpacker:compile Issues for Rails depoloymentErrno::ENOENT: No such file or directory @ rb_sysopen webpacker:compile Issues for Rails depoloyment
【发布时间】:2020-07-07 22:55:35
【问题描述】:

真的难倒这个。之前已从 rails 5.x -> 6 升级并成功部署,其中一切编译良好并且处于完整的工作状态。然而,刚刚创建了一个新分支来进行主题更新,其中只涉及添加一些额外的纱线包,没有真正的重大配置更改......

真正让我感动的部分是对“/usr/share/icons/Humanity/apps/48/*”的引用,它在我的任何代码库中都没有被调用。它很难调试,因为它引用了对我的应用程序中我不关心的区域的调用。任何有关如何解决此问题的建议将不胜感激...

安装程序是 Ruby 2.5.1、Rails 6、Webpacker、Mina 部署...本地主机上的所有内容在软件版本方面与远程基本相同。

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```

【问题讨论】:

    标签: ruby-on-rails deployment hadoop-yarn webpacker


    【解决方案1】:

    仍然不知道是什么原因导致它因该错误而失败;但是我的下一个想法是通过执行组合来检查解决那些未满足的依赖警告,这似乎已经解决了该特定问题;这些内容包括:

    -- 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 
    

    我相信这就是解决该问题的方法,但随后又提出了另一个问题: Zeitwerk::NameError: expected file /some/file/path to define constant 这已通过将 Zeitwerk 加载模式更改为经典模式“解决”。 在application.rb 中,注释掉config.load_defaults 6.0 并在config.autoloader = :classic 下方设置。我相信这是因为我加载了一些特定的模块,并且有一种不同的方式来加载它们。所以我相信这是目前的“猴子补丁”解决方案,直到进一步调查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-13
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多