3.3.0.beta2-dev update error

Hello,

We’ve got a engine “node” module compatibility issue when upgrading.

error ember-template-lint@6.0.0: The engine “node” is incompatible with this module. Expected version “^18.18.0 || ^20.9.0 || >=21.1.0”. Got “18.17.1”

Now when viewing the dashboard, it’s showing theres the “Updates are available. Please update!” however when it checks for all updates, none are showing?

Stopping job queue to reclaim memory, master pid is 57284
$ cd /var/www/discourse && git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse && git reset --hard HEAD@{upstream}
Updating files:  16% (51/314)
Updating files:  17% (54/314)
Updating files:  18% (57/314)
Updating files:  19% (60/314)
Updating files:  20% (63/314)
Updating files:  21% (66/314)
Updating files:  22% (70/314)
Updating files:  23% (73/314)
Updating files:  24% (76/314)
Updating files:  25% (79/314)
Updating files:  26% (82/314)
Updating files:  27% (85/314)
Updating files:  28% (88/314)
Updating files:  29% (92/314)
Updating files:  30% (95/314)
Updating files:  31% (98/314)
Updating files:  32% (101/314)
Updating files:  33% (104/314)
Updating files:  34% (107/314)
Updating files:  35% (110/314)
Updating files:  36% (114/314)
Updating files:  37% (117/314)
Updating files:  38% (120/314)
Updating files:  39% (123/314)
Updating files:  40% (126/314)
Updating files:  41% (129/314)
Updating files:  42% (132/314)
Updating files:  43% (136/314)
Updating files:  44% (139/314)
Updating files:  45% (142/314)
Updating files:  46% (145/314)
Updating files:  47% (148/314)
Updating files:  48% (151/314)
Updating files:  49% (154/314)
Updating files:  50% (157/314)
Updating files:  51% (161/314)
Updating files:  52% (164/314)
Updating files:  53% (167/314)
Updating files:  54% (170/314)
Updating files:  55% (173/314)
Updating files:  56% (176/314)
Updating files:  57% (179/314)
Updating files:  58% (183/314)
Updating files:  59% (186/314)
Updating files:  60% (189/314)
Updating files:  61% (192/314)
Updating files:  62% (195/314)
Updating files:  63% (198/314)
Updating files:  64% (201/314)
Updating files:  65% (205/314)
Updating files:  66% (208/314)
Updating files:  67% (211/314)
Updating files:  68% (214/314)
Updating files:  69% (217/314)
Updating files:  70% (220/314)
Updating files:  71% (223/314)
Updating files:  72% (227/314)
Updating files:  73% (230/314)
Updating files:  74% (233/314)
Updating files:  75% (236/314)
Updating files:  76% (239/314)
Updating files:  77% (242/314)
Updating files:  78% (245/314)
Updating files:  79% (249/314)
Updating files:  80% (252/314)
Updating files:  81% (255/314)
Updating files:  82% (258/314)
Updating files:  83% (261/314)
Updating files:  84% (264/314)
Updating files:  85% (267/314)
Updating files:  86% (271/314)
Updating files:  87% (274/314)
Updating files:  88% (277/314)
Updating files:  89% (280/314)
Updating files:  90% (283/314)
Updating files:  91% (286/314)
Updating files:  92% (289/314)
Updating files:  93% (293/314)
Updating files:  94% (296/314)
Updating files:  95% (299/314)
Updating files:  96% (302/314)
Updating files:  97% (305/314)
Updating files:  98% (308/314)
Updating files:  99% (311/314)
Updating files: 100% (314/314)
Updating files: 100% (314/314), done.
HEAD is now at 33871c483 DEV: Add `disabled` attribute to form templates (#27033)
$ cd /var/www/discourse/plugins/discourse-ai && git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse/plugins/discourse-ai && git reset --hard HEAD@{upstream}
HEAD is now at d64cff7 DEV: use sinon for safer stubbing (#624)
$ cd /var/www/discourse/plugins/discourse-gamification && git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse/plugins/discourse-gamification && git reset --hard HEAD@{upstream}
HEAD is now at f163a9f Update translations (#135)
$ cd /var/www/discourse/plugins/discourse-reactions && git fetch --tags --prune-tags --prune --force
$ cd /var/www/discourse/plugins/discourse-reactions && git reset --hard HEAD@{upstream}
HEAD is now at 50d7698 DEV: Additional backfilling for like sync (#283)
$ bundle install --retry 3 --jobs 4
Fetching gem metadata from https://rubygems.org/.........
Fetching drb 2.2.1
Fetching csv 3.3.0
Fetching regexp_parser 2.9.1
Fetching mutex_m 0.2.0
Installing drb 2.2.1
Installing mutex_m 0.2.0
Installing csv 3.3.0
Fetching sass-embedded 1.77.1 (x86_64-linux-gnu)
Installing regexp_parser 2.9.1
Fetching nokogiri 1.16.5 (x86_64-linux)
Installing sass-embedded 1.77.1 (x86_64-linux-gnu)
Installing nokogiri 1.16.5 (x86_64-linux)
Bundle complete! 141 Gemfile dependencies, 173 gems now installed.
Gems in the groups 'development' and 'test' were not installed.
Bundled gems are installed into `./vendor/bundle`
1 installed gem you directly depend on is looking for funding.
  Run `bundle fund` for details
$ yarn install
yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
[3/5] Fetching packages...
error ember-template-lint@6.0.0: The engine "node" is incompatible with this module. Expected version "^18.18.0 || ^20.9.0 || >=21.1.0". Got "18.17.1"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Docker Manager: FAILED TO UPGRADE
#<RuntimeError: RuntimeError>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:210:in `run'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:101:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8.1/lib/rails/commands/runner/runner_command.rb:43:in `load'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8.1/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.3.1/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.3.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.3.1/lib/thor.rb:527:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8.1/lib/rails/command/base.rb:87:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8.1/lib/rails/command.rb:48:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/railties-7.0.8.1/lib/rails/commands.rb:18:in `<main>'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/usr/local/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:18:in `<main>'
Spinning up 3 Unicorn worker(s) that were stopped initially
2 Likes

I’m seeing the same error.

Hi,

This happened to me too. The solution is to do it via command line.

cd /var/discourse
git pull
./launcher rebuild app

Hope that helps.

6 Likes

I had the same. Unfortunately, it took me a moment to spot the error and in the process of upgrading I seem to have corrupted my Postgres database :expressionless:

So definitely better follow the suggestion to rebuild from CLI directly.

Edit:
Was able to restore an older backup after resetting the postgres transaction log. Luckily this was not a production site - this was unpleasant enough for a test site.

2 Likes

You my friend are a life saver, THANK YOU!

2 Likes

This solution worked for me too, thank you very much :100:
For anyone else in this situation, don’t panic, just follow this.

1 Like

Thanks for the reports! A command line rebuild is indeed the best solution.

I’ve prepared this fix which will cause a message to be shown to people before they hit ‘update’ in the UI.

Edit: now merged

5 Likes

Yup, looks like upgrading via the CLI fixed it for me too. Phew, that had me worried. Glad to hear it’ll prevent dummies like me running into this again via the UI.

1 Like