Updated on 26-08-2024. For the old version, click here.
Contents:
1. UPDATE
2. RUBY VERSION ISSUES
3. RUBY GEM ISSUES
4. CHARLOC_HOLMES GEM ISSUES
So a new release came out and it is important to get this update as soon as possible! This manual is a transcript of the way that I have updated my Mastodon instance. Please make sure you make proper backups and use your brain while updating things.
A guide to making a Mastodon backup can be found here.
Linux flavour: Debian
Update from: 4.2.xx
- Log into your server
-
su - mastodon
-
cd /home/mastodon/live
-
git fetch --tags
- git checkout [type the most recent version here, starting with the letter v. For example; v4.2.5
git checkout v4.2.10
- If you get a ruby version error, please see bottom of this article for a fix! bundle install
-
yarn install
-
RAILS_ENV=production bundle exec rails db:migrate #NOTE: You might get a ruby error which then suggests you to enter the command "bundle install". Do that and then run the RAILS command again.
-
RAILS_ENV=production bundle exec rails assets:precompile
-
exit
OPTIONAL:
After updating, you might get a notification to update the browserlist database. You can do that with the following command:
npx update-browserslist-db@latest
Okay, you can now choose to either reboot or restart the services.
REBOOT:
- This command may vary, depending on your Linux flavour.
systemctl reboot
RESTART:
- This command may vary, depending on your Linux flavour.
systemctl restart mastodon-sidekiq systemctl reload mastodon-web
Optional:
systemctl restart mastodon-streaming
RUBY VERSION ISSUES
My system was unable to find the required v3.2.3 of Ruby and I have fixed this by doing the following steps:
- Please make sure that your path is correct.
git -C ~/.rbenv/plugins/ruby-build pull
-
rbenv install 3.2.3
*WAIT TILL DONE* (it may take a little while)
- To check all the installed versions type:
rbenv versions
- To set v3.2.3 as the global version, type:
rbenv global 3.2.3
- To double-check the active, installed version, type:
rbenv versions
- Done!
This manual is a transcript of the way that I have updated my Mastodon instance. Please make sure you make proper backups and use your brain while updating things.
Sources: https://richstone.io/where-is-ruby-3-0-0-on-rbenv/
RUBY GEM ISSUES
After entering…
RAILS_ENV=production bundle exec rails db:migrate
…you might get a ruby gem error like:
Could not find rexml-3.3.5, strscan-3.1.0 in locally installed gems Run `bundle install` to install missing gems.
Enter the command “bundle install” and after that run the RAILS command again.
CHARLOCK_HOLMES ISSUES
The charlock_holmes gem may fail to build on some systems with recent versions of gcc. If you run into such an issue, try
BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install.