Error when updating Zammad: cannot load such file -- nokogiri (LoadError)

Infos:

  • Used Zammad version: 5.4.1 updated to 6.0
  • Used Zammad installation type: package
  • Operating system: Debian 10
  • Browser + version:

Expected behavior:

  • The update should run without any issues

Actual behavior:

root@service:~# apt reinstall zammad
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/151 MB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 62953 files and directories currently installed.)
Preparing to unpack .../zammad_6.0.0-1689860438.de5a066a.buster_amd64.deb ...
rake aborted!
LoadError: cannot load such file -- nokogiri
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:332:in `block in require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:332:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/ruby-saml-1.15.0/lib/onelogin/ruby-saml/saml_message.rb:4:in `<main>'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:332:in `block in require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:332:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/ruby-saml-1.15.0/lib/onelogin/ruby-saml.rb:2:in `<main>'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:332:in `block in require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:332:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/ruby-saml-1.15.0/lib/ruby-saml.rb:1:in `<main>'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:332:in `block in require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:332:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/omniauth-saml-2.1.0/lib/omniauth/strategies/saml.rb:2:in `<main>'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:332:in `block in require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:299:in `load_dependency'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/activesupport-6.1.7.4/lib/active_support/dependencies.rb:332:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/omniauth-saml-2.1.0/lib/omniauth-saml.rb:1:in `<main>'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38:in `require'
/opt/zammad/config/application.rb:14:in `<top (required)>'
/opt/zammad/Rakefile:7:in `require_relative'
/opt/zammad/Rakefile:7:in `<top (required)>'
/opt/zammad/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/opt/zammad/bin/bundle:121:in `load'
/opt/zammad/bin/bundle:121:in `<main>'
(See full trace by running task with --trace)
# Code does not yet fit, skipping automatic package uninstall.
... This is not an error and will work during your next upgrade ...
Unpacking zammad (6.0.0-1689860438.de5a066a.buster) over (6.0.0-1689860438.de5a066a.buster) ...

Steps to reproduce the behavior:

  • apt reinstall zammad

After uninstalling Zammad 6.0 and installing 5.4.1 it seems to work again—and there have been two database migrations.

Setting up zammad (5.4.1-1686035985.315231a1.buster) ...
# (Re)creating init scripts
Nothing to do.
Nothing to do.
Nothing to do.
# Enabling Zammad on boot
# Stopping Zammad
# Clear cache...
# database.yml found. Updating db...
== 20230414112710 Issue4573OrganizationFieldDatabaseLengthMissmatchesObjectMaxlength: migrating
-- change_column(:organizations, :name, :string, {:limit=>150, :null=>false})
   -> 0.0674s
== 20230414112710 Issue4573OrganizationFieldDatabaseLengthMissmatchesObjectMaxlength: migrated (0.0711s)

== 20230505114614 DropApiSuffixFromThirdPartyLoginGitLabSiteParameter: migrating
== 20230505114614 DropApiSuffixFromThirdPartyLoginGitLabSiteParameter: migrated (0.0149s)

I then tried updating to version 6 once again—still no luck, same errors.

Tried updating again, but still no luck with 6.0.0-1693307628.89839447.buster.
Updating to 6.1.0-alpha-1693482421.5e449a44.buster did work, though. Looking forward to the final release :slight_smile:

You don’t happen to have migrated the 5.4 installation on a new host and then tried to upgrade on a later point, did you?

Quite sure I didn’t. It’s been the same VM from 5.x…