not sure where this error is poping up for now
the code involved does not even send an email

no idea for now
apprently, it would come from some code in the october Auth class, my code is calling this line
php
Auth::register($data, $automaticActivation);
What plugins do you have installed and do any of them use composer?
Hi Luke
yes we are using some plugins that are using composer as well.
But the issue is recent, the same function used to work since more than a year now and suddenly we are seeing this error. no plugins added recently. I ceated another thread recently where I am facing other issue with the Mail class as well. Shall I reinstall October composer completely ?
This is a known issue that occurs both the project and plugins use composer and the plugin's composer dependencies are located in the plugin itself instead of pulled into the main project. The problem is that multiple versions of the Laravel dependencies are loaded simultaneously by both the plugins and October itself.
To fix this, you need to rebuild your dependencies. To do that, remove the vendor directory and composer.lock from all your plugins and the root October instance. Then, run composer install or composer update from your root October directory and your project's and its plugin's dependencies will be rebuilt and pulled into just your project's vendor directory. This should resolve your issue.
There are some changes to the marketplace build process that are coming in the near future that should prevent these problems from happening again in the future.
thanks Luke,
So i just need to do ONE 'composer update' at the root of october after cleaning the plugins composer folder ? is that correct ?
yup, composer in the root of october pulls in the plugin's composer.json files using the wikimedia-merge-plugin, so when using composer with your project and plugins you only need to call it in the root october folder.
so i did clean all the vendor and composer.lock from the plugin and october root, and run a 'composer install' from october root.
and no vendor has been install for all the plugins. What did i do wrong here ?
If you mean no vendor dir was placed in each plugin, then that's supposed to happen. The point of the wikimediamerge composer plugin that allows running the composer commands from the root of the project is to merge all of your project's dependencies in one place. So, all of your plugin's dependencies should now exist in your project's vendor directory.
I see.
It seems to work now indeed. thank for the detailed informations Luke
o when I will be installing a new plugin using a composer, I will have to do the same operation I guess.
Not necessarily, the problem only really occurs when you install a plugin using composer from the marketplace and then you update your own project's dependencies. You should be able to delete the composer.json file from the plugin and have it work. Give it a try, let me know if that works for you or if you had to completely delete the plugin's vendor directory and rerun composer. Either way, the problem should be solved shortly by #2831
solution 1 did worked, thanks @LukeTowers
No problem @chrisvidal
@LukeTowers I'm getting a similar error:
Symfony\Component\Debug\Exception\FatalErrorException:
Declaration of Illuminate\Mail\Mailer::queue($view, $queue = NULL)
must be compatible with Illuminate\Contracts\Mail\MailQueue::queue($view, array $data, $callback, $queue = NULL)
in /var/www/html/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php:17
I had had an old build. I recently updated everything. I didn't add a new plugin. Everything works except the mail (user login and registration). Thanks in advance.
@LukeTowers Got it to work! Thanks! I searched for "Illuminate\Mail\Mailer" in my plugins folder and found an outdated plugin having it's own vendor folder with copies of old illuminate files. Then I followed your suggestion. I deleted the vendor folder, but I ran the "composer update" command inside that plugin folder itself so it would only read its own composer.json