[Update to Version 6.4 (Source)] Error during "rake assets:precompile

Infos:

  • Used Zammad version: 6.3.1
  • Used Zammad installation type: Source
  • Operating system: Raspberry OS
  • Browser + version:

Expected behavior:

  • rake assets:precompile should run without errors

Actual behavior:

  • I get the following error:

Steps to reproduce the behavior:

The update worked according to the further commands in the instructions, as I can now see. However, I am worried that required dependencies are missing.

I don’t know if it has anything to do with the error I described, but the mobile app no ​​longer displays ticket contents:

Before you start the source installation you need to move the old directory and apply the new one, and mv needed files back again, e.g. database.yml. Otherwise, it could be that no longer existing files are still present.

1 Like

Hello Dominik. Thank you for your feedback. It actually makes sense, but I wasn’t sure because it wasn’t mentioned in the upgrade instructions. I’ll try it again later. I’ll just have to find the configuration files that might be needed, e.g. for Redis etc.

Best regards,
Sascha

@dominikklein

Unfortunately, this method did not work to upgrade to version 6.4 via source.

I still get the same error. I deleted all directories from my existing installation and only left those that were previously created using bundle etc.

If I were to empty the entire Zammad directory, I would have to repeat all the steps from the regular instructions for an initial installation, since the Zammad user has his or her own fixed user directory (/opt/zammad) and Ruby etc. were installed there.

You could try to delete you node_modules folder again inside the zammad directory and do a pnpm install.

@dominikklein

Can you help me with this for a moment? When I try to run “pnpm install” in the zammad user, I get the message in the terminal that the “pnpm” command does not exist.

Just to be on the safe side, I would like to mention again that I installed Zammad 6.3.1 using these instructions: Install from Source — Zammad System Documentation documentation

If I were to start from scratch to get to version 6.4, would I probably lose all my data, or would it then take over the existing data from the PostgreSQL database?

I’m actually hoping to get it to work using the instructions for the update via source.

My directory structure for Zammad currently looks like this:

drwxrwxrwx 14 zammad zammad 4096 18. Okt 08:22 app
drwxrwxrwx 2 zammad zammad 4096 18. Okt 08:22 bin
-rw-rw-rw- 1 zammad zammad 60 18. Okt 08:22 browserlist
-rw-rw-rw- 1 zammad zammad 4225 18. Okt 08:22 CHANGELOG.md
-rw-rw-rw- 1 zammad zammad 5488 18. Okt 08:22 CODE_OF_CONDUCT.md
drwxrwxrwx 9 zammad zammad 4096 20. Okt 19:55 config
-rw-rw-rw- 1 zammad zammad 314 18. Okt 08:22 config.ru
drwxrwxrwx 8 zammad zammad 4096 18. Okt 08:22 contrib
drwxrwxrwx 4 zammad zammad 4096 18. Okt 08:22 db
drwxrwxrwx 2 zammad zammad 4096 18. Okt 08:23 doc
-rw-rw-rw- 1 zammad zammad 892 18. Okt 08:22 Dockerfile
-rw-rw-rw- 1 zammad zammad 5997 19. Okt 09:25 Gemfile
-rw-rw-rw- 1 zammad zammad 19928 18. Okt 20:25 Gemfile.lock
drwxrwxrwx 3 zammad zammad 4096 18. Okt 08:22 i18n
drwxrwxrwx 44 zammad zammad 4096 18. Okt 08:22 lib
-rw-rw-rw- 1 zammad zammad 34523 18. Okt 08:22 LICENSE
-rw-rw-rw- 1 zammad zammad 9251 18. Okt 08:22 LICENSE-3RD-PARTY.txt
-rw-rw-rw- 1 zammad zammad 19548 18. Okt 08:22 LICENSE-ICONS-3RD-PARTY.json
drwxrwxrwx 2 zammad zammad 4096 18. Okt 20:30 log
drwxrwxr-x 861 zammad zammad 32768 18. Okt 18:08 node_modules
-rw-rw-rw- 1 zammad zammad 6161 18. Okt 08:22 package.json
-rw-rw-rw- 1 zammad zammad 609 18. Okt 08:22 postcss.config.js
-rw-rw-rw- 1 zammad zammad 275 18. Okt 08:22 Procfile
-rw-rw-rw- 1 zammad zammad 319 18. Okt 08:22 Procfile.dev
-rw-rw-rw- 1 zammad zammad 390 18. Okt 08:22 Procfile.dev-https
drwxrwxrwx 3 zammad zammad 4096 18. Okt 08:22 public
-rw-rw-rw- 1 zammad zammad 0 18. Okt 08:23 rake
-rwxrwxrwx 1 zammad zammad 326 18. Okt 08:22 Rakefile
-rw-rw-rw- 1 zammad zammad 2296 18. Okt 08:22 README.md
drwxrwxrwx 6 zammad zammad 4096 18. Okt 08:22 script
-rw-rw-rw- 1 zammad zammad 1482 18. Okt 08:22 SECURITY.md
drwxrwxrwx 6 zammad zammad 4096 18. Okt 18:09 tmp
-rw-rw-rw- 1 zammad zammad 1009 18. Okt 08:22 tsconfig.base.json
-rw-rw-rw- 1 zammad zammad 408 18. Okt 08:22 tsconfig.json
drwxrwxrwx 4 zammad zammad 4096 18. Okt 08:22 vendor
-rw-rw-rw- 1 zammad zammad 6 18. Okt 08:22 VERSION
-rw-rw-rw- 1 zammad zammad 3896 18. Okt 08:22 vite.config.mjs
-rw-rw-rw- 1 zammad zammad 514163 18. Okt 08:22 yarn.lock

But this is from 6.3 or? :slight_smile:

In the end you need to follow the update from source: Updating Zammad — Zammad System Documentation documentation

As an addition to this documentation this step like mention before should be done:

Before you start the source installation you need to move the old directory and apply the new one, and mv needed files back again, e.g. database.yml.

And a additional addition is for 6.3 → 6.4 that pnpm needs to be present (Neues Minor Release: Zammad 6.4)

1 Like

Yes, exactly, that’s my folder structure of the 6.3 version after I restored my backup.

And if I understand your hint correctly, even if it’s not clear to me in the update instructions, pnpm isn’t included in the update package, and I have to install it separately before?

And sorry, yes… I used the instructions. Updating Zammad — Zammad System Documentation documentation

Okay, I’ve now found this hint in the instructions for the initial installation, which I was actually missing.

I’ll test it again, but I’m confident that it will work. I’ll report back. Thanks first of all.

Normally a package installation or the usage of docker is much easier.

Any reason why you need a source installation?

Hi. Yes, these two options are certainly easier, although I always have problems with Docker passing on the respective applications via reverse proxy, with HTTPS and sometimes with client certificates. I can do it now, but Zammad was already running via source.

I also tried using the package for Debian on my Raspberry, but at some point towards the end of the installation steps, a message appeared for one source that it was not compatible with arm64, so I rolled back and tried installing from source. It worked. :grinning:

Only the update caused a few problems, but I probably found the error with your help. I want to test that this afternoon.

@dominikklein

Hello Dominik,

So ultimately it seems that it was actually due to the missing pnpm.

I have now carried out the update using these steps:

sudo -s

systemctl stop zammad
npm install -g pnpm

cd /opt
mv zammad zammad_bak
mkdir ./zammad

wget https://ftp.zammad.com/zammad-latest.tar.gz
tar -xzf zammad-latest.tar.gz --strip-components 1 -C zammad
chown -R zammad:zammad zammad/
rm -f zammad-latest.tar.gz

#### BENÖTIGTE DATEIEN ZURÜCKSICHERN

cp /opt/zammad_bak/.bashrc /opt/zammad/.bashrc
cp /opt/zammad_bak/.profile /opt/zammad/.profile
cp /opt/zammad_bak/config/database.yml /opt/zammad/config/database.yml
cp /opt/zammad_bak/config/redis.yml /opt/zammad/config/redis.yml
cp /opt/zammad_bak/config/initializers/redis.rb /opt/zammad/config/initializers/redis.rb

rm -r ./zammad_bak

su - zammad
gem install bundler
bundle install --without test development mysql
rake db:migrate
rake assets:precompile
rails r "Locale.sync"
rails r "Translation.sync"
exit
systemctl start zammad

If you have any further input, please let me know. But this worked for me and it was nice to have overcome this hurdle.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.