decidim / decidim

The participatory democracy framework. A generator and multiple gems made with Ruby on Rails
https://decidim.org/
GNU Affero General Public License v3.0
1.44k stars 398 forks source link

Install on ubuntu 18.04 problems #8395

Closed guigsilva closed 2 years ago

guigsilva commented 2 years ago

When installing on a fresh ubuntu 18.04 following the tutorial https://platoniq.github.io/decidim-install/decidim-bionic/ or https://docs.decidim.org/en/install/manual/ On first attempt we have a error with the ruby version. The 0.25 version asks for a 2.7 version. We start over only changing the ruby version now the install brakes with :


cp $(bundle exec i18n-tasks gem-path)/templates/rspec/i18n_spec.rb spec/
        gsub  config/boot.rb
      append  .gitignore
      remove  public/404.html
      remove  public/500.html
      create  config/initializers/decidim.rb
       route  mount Decidim::Core::Engine => '/'
      append  db/seeds.rb
      create  config/initializers/carrierwave.rb
      create  config/initializers/social_share_button.rb
      create  config/secrets.yml
      remove  app/views/layouts/application.html.erb
      remove  app/views/layouts/mailer.text.erb
      insert  config/environments/production.rb
      create  app/packs/stylesheets/decidim/decidim_application.scss
      create  app/packs/stylesheets/decidim/_decidim-settings.scss
      create  app/packs/src/decidim/decidim_application.js
      create  app/packs/images
      remove  bin/yarn
rails aborted!
Unknown version "6.1"
/home/administrador/decidim-app/config/application.rb:12:in `<class:Application>'
/home/administrador/decidim-app/config/application.rb:11:in `<module:DecidimApp>'
/home/administrador/decidim-app/config/application.rb:9:in `<main>'
/home/administrador/decidim-app/Rakefile:4:in `<main>'
/home/administrador/decidim-app/bin/rails:5:in `<top (required)>'
/home/administrador/decidim-app/bin/spring:10:in `block in <top (required)>'
/home/administrador/decidim-app/bin/spring:7:in `tap'
/home/administrador/decidim-app/bin/spring:7:in `<top (required)>'
bin/rails:2:in `load'
bin/rails:2:in `<main>'
(See full trace by running task with --trace)

Can anyone help please?

Thanks Guilherme

alecslupu commented 2 years ago

@guigsilva Decidim is not yet ready to work with Rails 6.1. Please install rails 6.0 .

let me know if that works for you.

andreslucena commented 2 years ago

Hi @guigsilva, I can reproduce this issue locally, thanks for the report!

@guigsilva Decidim is not yet ready to work with Rails 6.1. Please install rails 6.0 .

This is a bug in v0.25.0. It generates an app as it was 6.1 when it should be 6.0:

module DecidimApplication
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 6.1

Steps to reproduce this:

  1. Follow the official installation guide on a new environment. For instance, I spun up a new container with docker container run -it ubuntu:20.04 bash. You should also install wget before installing rbenv.
  2. See the error when generating the app

What's weird is that in my home directory I have Rails 6.1 but in the app, I have 6.1. Mind that this is a new fresh container, so there isn't any other bundle nor ruby nor rails previous to following the guide.

ubuntu@c230d22dd384:~$ rails --version
Rails 6.1.4.1
ubuntu@c230d22dd384:~$ cd decidim_application/
ubuntu@c230d22dd384:~/decidim_application$ rails --version
Warning: the running version of Bundler (2.1.4) is older than the version that created the lockfile (2.2.18). We suggest you to upgrade to the version that created the lockfile by running `gem install bundler:2.2.18`.
Rails 6.0.4.1

In my bundle/Gemfile.lock I have the correct Rails version:

ubuntu@c230d22dd384:~$ bundle info rails
  * rails (6.0.4.1)
        Summary: Full-stack web application framework.
        Homepage: https://rubyonrails.org
        Path: /home/ubuntu/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rails-6.0.4.1

Also, I can reproduce this one in Ubuntu 20.04 (last LTS):

ubuntu@c230d22dd384:~/decidim_application$ lsb_release -a 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal
guigsilva commented 2 years ago

Hello!

The file /home/administrador/decidim-app/config/application.rb have a line application 6.1 .....

I try to change it to 6.0 and retry withou overwrite files but have some another error. Now trying to install 0.24.3 and have some nginx passenger problems, but this is to another ticket :)

Thanks,

andreslucena commented 2 years ago

The plot thickens!!

I can reproduce this same behavior in another container with Ubuntu 21.10 (docker container run -it ubuntu:21.10 bash). I also saw that Rails 6.1 is installed in the gem install decidim step.

What's really weird is that on my local machine with the same version of Ubuntu (21.10) I don't see this error. The generated app is well (config.load_defaults 6.0 in config/application.rb)

As a workaround, I found that manually uninstalling the bad rails version and installing the good one that works, but we still should fix this.

$ gem install rails:6.0.4
$ gem uninstall rails:6.1.4.1

I think this is because in v0.25.0 we've Rails specified to ~> 6.0 and it should be ~> 6.0.4. It was fixed in develop with #6832

https://github.com/decidim/decidim/blob/c0098ae429714379e50e0b2418ed41bf6a14ac5d/decidim-core/decidim-core.gemspec#L60

guigsilva commented 2 years ago

Hello!

New install on ubuntu 20.04 VM and with the install of 6.0.4 and worked!!

Two stepbacks :

leio10 commented 2 years ago

Hi @guigsilva, thanks for your report!

I'm going to backport the rails version change (6.0 -> 6.0.4) to the 0.25 branch.

On the other hand, I was not able to reproduce the problems with action_cable and Zeitwerk that you commented, but I've created #8415 to fix the action_cable problem. Please, can you give me more information about the problems you had?

guigsilva commented 2 years ago

Hello!

I have a problem when I try to "decidim decidim-app" but I don´t copy the trace sorry....

I find this two pages and do what was there and worked

microstudi commented 2 years ago

I can confirm the later bug, it seems that zeitwerk is trying to load a constant infered from the directory /app/packs/stylesheets/foundation-overrides. Here is a trace (this is after a clean install of Decidim, ensuring no Rails 6.1 is installed):

RAILS_ENV=production bin/rails c
Traceback (most recent call last):
    65: from bin/rails:4:in `<main>'
    64: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
    63: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
    62: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
    61: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
    60: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
    59: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/commands.rb:18:in `<main>'
    58: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/command.rb:46:in `invoke'
    57: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/command/base.rb:69:in `perform'
    56: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
    55: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
    54: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
    53: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/commands/console/console_command.rb:101:in `perform'
    52: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/command/actions.rb:15:in `require_application_and_environment!'
    51: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/command/actions.rb:28:in `require_environment!'
    50: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/application.rb:339:in `require_environment!'
    49: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/activesupport-6.0.4.1/lib/active_support/dependencies.rb:324:in `require'
    48: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/activesupport-6.0.4.1/lib/active_support/dependencies.rb:291:in `load_dependency'
    47: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/activesupport-6.0.4.1/lib/active_support/dependencies.rb:324:in `block in require'
    46: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/kernel.rb:34:in `require'
    45: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
    44: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
    43: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
    42: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
    41: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
    40: from /home/decidim/decidim-audit/config/environment.rb:5:in `<main>'
    39: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/application.rb:363:in `initialize!'
    38: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/initializable.rb:60:in `run_initializers'
    37: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:205:in `tsort_each'
    36: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:226:in `tsort_each'
    35: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:347:in `each_strongly_connected_component'
    34: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:347:in `call'
    33: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:347:in `each'
    32: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:349:in `block in each_strongly_connected_component'
    31: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:431:in `each_strongly_connected_component_from'
    30: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
    29: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each'
    28: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/initializable.rb:61:in `block in run_initializers'
    27: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/initializable.rb:32:in `run'
    26: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/initializable.rb:32:in `instance_exec'
    25: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/application/finisher.rb:122:in `block in <module:Finisher>'
    24: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:508:in `eager_load_all'
    23: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:508:in `each'
    22: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:393:in `eager_load'
    21: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:393:in `synchronize'
    20: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:404:in `block in eager_load'
    19: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:725:in `ls'
    18: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:725:in `foreach'
    17: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:733:in `block in ls'
    16: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:416:in `block (2 levels) in eager_load'
    15: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:416:in `const_get'
    14: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/kernel.rb:30:in `require'
    13: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:41:in `on_dir_autoloaded'
    12: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:41:in `synchronize'
    11: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:55:in `block in on_dir_autoloaded'
    10: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:70:in `on_namespace_loaded'
     9: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:70:in `each'
     8: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:71:in `block in on_namespace_loaded'
     7: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:533:in `set_autoloads_in_dir'
     6: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:725:in `ls'
     5: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:725:in `foreach'
     4: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:733:in `block in ls'
     3: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:551:in `block in set_autoloads_in_dir'
     2: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:583:in `autoload_subdir'
     1: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:777:in `cdef?'
/home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:777:in `const_defined?': wrong constant name Foundation-overrides (NameError)
    63: from bin/rails:4:in `<main>'
    62: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
    61: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
    60: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
    59: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
    58: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
    57: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/commands.rb:18:in `<main>'
    56: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/command.rb:46:in `invoke'
    55: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/command/base.rb:69:in `perform'
    54: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
    53: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
    52: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
    51: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/commands/console/console_command.rb:101:in `perform'
    50: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/command/actions.rb:15:in `require_application_and_environment!'
    49: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/command/actions.rb:28:in `require_environment!'
    48: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/application.rb:339:in `require_environment!'
    47: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/activesupport-6.0.4.1/lib/active_support/dependencies.rb:324:in `require'
    46: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/activesupport-6.0.4.1/lib/active_support/dependencies.rb:291:in `load_dependency'
    45: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/activesupport-6.0.4.1/lib/active_support/dependencies.rb:324:in `block in require'
    44: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/kernel.rb:34:in `require'
    43: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
    42: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
    41: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
    40: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
    39: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
    38: from /home/decidim/decidim-audit/config/environment.rb:5:in `<main>'
    37: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/application.rb:363:in `initialize!'
    36: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/initializable.rb:60:in `run_initializers'
    35: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:205:in `tsort_each'
    34: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:226:in `tsort_each'
    33: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:347:in `each_strongly_connected_component'
    32: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:347:in `call'
    31: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:347:in `each'
    30: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:349:in `block in each_strongly_connected_component'
    29: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:431:in `each_strongly_connected_component_from'
    28: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
    27: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/2.7.0/tsort.rb:228:in `block in tsort_each'
    26: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/initializable.rb:61:in `block in run_initializers'
    25: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/initializable.rb:32:in `run'
    24: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/initializable.rb:32:in `instance_exec'
    23: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/railties-6.0.4.1/lib/rails/application/finisher.rb:122:in `block in <module:Finisher>'
    22: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:508:in `eager_load_all'
    21: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:508:in `each'
    20: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:393:in `eager_load'
    19: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:393:in `synchronize'
    18: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:404:in `block in eager_load'
    17: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:725:in `ls'
    16: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:725:in `foreach'
    15: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:733:in `block in ls'
    14: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:416:in `block (2 levels) in eager_load'
    13: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:416:in `const_get'
    12: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/kernel.rb:30:in `require'
    11: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:41:in `on_dir_autoloaded'
    10: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:41:in `synchronize'
     9: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:55:in `block in on_dir_autoloaded'
     8: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:70:in `on_namespace_loaded'
     7: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:70:in `each'
     6: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader/callbacks.rb:71:in `block in on_namespace_loaded'
     5: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:533:in `set_autoloads_in_dir'
     4: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:725:in `ls'
     3: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:725:in `foreach'
     2: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:733:in `block in ls'
     1: from /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:534:in `block in set_autoloads_in_dir'
/home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/loader.rb:558:in `rescue in block in set_autoloads_in_dir': wrong constant name Foundation-overrides inferred by Module from directory (Zeitwerk::NameError)

  /home/decidim/.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/decidim-core-0.25.0/app/packs/stylesheets/foundation-overrides
microstudi commented 2 years ago

I workaround that worked (at least for the moment) is to edit config/application.rb and add leave it like this:

require_relative 'boot'

require "decidim/rails"
require "action_cable/engine" # add this or ActionCable is not found

# Add the frameworks used by your app that are not loaded by Decidim.

# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)

module DecidimAudit
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 6.0

    # Settings in config/environments/* take precedence over those specified here.
    # Application configuration can go into files in config/initializers
    # -- all .rb files in that directory are automatically loaded after loading
    # the framework and any gems in your application.
  end
end

# Somehow, zeitwerk tries to autocreate constants from this directory, this makes it stop
# Note that this line can go in any initializer, not necessarily here.
Rails.autoloaders.main.ignore(Gem::Specification.find_by_name("decidim-core").gem_dir + "/app/packs")
leio10 commented 2 years ago

Reopening this until we are sure that the zeitwerk issue is fixed.

leio10 commented 2 years ago

Regarding the Zeitwerk problem, I've found this. So, I've opened a PR to ignore the webpacker paths if using Zeitwerk. Hopefuly, after merging and backporting that PR, all the problems reported in this issue will be fixed, and we will be able to release the 0.25.1 version.

microstudi commented 2 years ago

Thanks, I'll try it when the new version is released

leio10 commented 2 years ago

Hi! We've released the 0.25.1 version, and all these issues should be fixed now. Please, if you have some time try to do the same that you were doing with the 0.25.0 release. Thanks! ❤️ /cc @guigsilva @microstudi

microstudi commented 2 years ago

The zeitwerk issue is solved. I've checked it. However now we have this one https://github.com/decidim/decidim/pull/8506

andreslucena commented 2 years ago

@guigsilva please check the last answers. FYI, we've also released v0.25.2 last week, and it should be even more stable 😄 - Thanks everyone involved on this bug fixing!!

I'm closing this issue as all the detected problems should be solved by now:

  1. Unknown version "6.1" - solved on #8440
  2. zeitwerk - solved on #8444 #8449
  3. webpacker.yml file - solved on #8531

If anyone finds any other problem related to webpacker feel free to create a new issue, so it's better to keep track of things.