Error upgrading Discourse - gem conflict

Trying to upgrade, but got stuck on this error:

I, [2020-05-22T05:14:06.527007 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Gem::ConflictError: Unable to activate faraday_middleware-0.11.0, because faraday-1.0.1 conflicts with faraday (>= 0.7.4, < 1.0)

I changed app.yml to stay on PostgreSQL 10 (I don’t have enough disk space to install 11), so not sure if that’s the reason.

Are you using any 3rd party plugins?

The usual: the bunch of standard discourse/xxx plugins plus normal ones like topic list preview, whos online etc.

I had faraday issue with a 3rd party plugin. I can only suggest try disabling plugins but that probably won’t help here?

Trying with standard upgrade including PostgreSQL to see if it works…

But pg_upgrade has been running for a while now… nothing yet…


I, [2020-05-22T05:46:54.081847 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
Gem::ConflictError: Unable to activate faraday_middleware-0.11.0, because faraday-1.0.1 conflicts with faraday (>= 0.7.4, < 1.0)
/var/www/discourse/lib/plugin_gem.rb:20:in `load'
/var/www/discourse/lib/plugin/instance.rb:635:in `gem'
/var/www/discourse/plugins/discourse-azure-blob-storage/plugin.rb:10:in `activate!'
/var/www/discourse/lib/plugin/instance.rb:541:in `instance_eval'
/var/www/discourse/lib/plugin/instance.rb:541:in `activate!'
lib/discourse.rb:224:in `block in activate_plugins!'
lib/discourse.rb:221:in `each'
lib/discourse.rb:221:in `activate_plugins!'
/var/www/discourse/config/application.rb:297:in `block in <class:Application>'
/var/www/discourse/lib/plugin_initialization_guard.rb:5:in `plugin_initialization_guard'
/var/www/discourse/config/application.rb:296:in `<class:Application>'
/var/www/discourse/config/application.rb:65:in `<module:Discourse>'
/var/www/discourse/config/application.rb:64:in `<top (required)>'
/var/www/discourse/Rakefile:7:in `require'
/var/www/discourse/Rakefile:7:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'

I suppose the discourse-azure-blob-storage plugin is the culprit… again?

That could be the case. I don’t use the plugin so I can’t really comment.

You’ve got conflicting gems because of currently incompatible plugins.

You need to manually resolve that gem dependency in a plugin that is causing this (using version that works with other plugins/core and putting it into plugin.rb) or disable that plugin.

Just for the record here, this PR solves the problem:

It has been merged.