7.10 upgrade "Composer autoloader not found"

Hello,

When trying to use the upgrade wizard to go from 7.9.12 to 7.10, all of the pre-flight checks are passed, and files are copied successfully according to the wizard. When I press the final “next button”, The page immediately displays "Composer autoloader not found. please run “composer install”

In the upgradewizard.log file, I do not see any errors that would be relevant as far as I can tell.

Has anyone else run into this?

Can you check if the “vendor” folder exists in both your installed 7.9 and the 7.10 upgrader zip?

This shouldn’t be happening, I am guessing you (at some point) installed SuiteCRM directly from a GitHub fetch or download, and not from an installer?

same thing here, and never installed from git.

seems to be a bug in entryPoint.php commenting out the check for autoloader fixes it

I’d like to debug this issue. Can any of you find anything in php_errors.log or suitecrm.log at the time of that error?

If there is nothing there, can any of you apply this technique to discover exactly which files SuiteCRM is looking for at that time?

Thanks

Sorry for the late reply. I just tried once more, only this time, upgrading to 7.10.2, and the upgrade worked perfectly. The bug must have been addressed in the latest version.

Thanks you!

still seems to be a bug in the 7.10.4 update

@jeroende if you can provide additional details, we can try to debug.

Which version are you upgrading from? What do you see in your logs?

Hi,

Iit happend in 7.10.4 and now also in 7.10.6

I think it might me windows related, i just do a quick change to the full path and that resolves it:

$BASE_DIR = realpath(dirname(DIR));
//$autoloader = $BASE_DIR.’/vendor/autoload.php’;
$autoloader = “C:\inetpub\CRM\vendor\autoload.php”;

I see, you mean here.

Can you tell me exactly what you have in $BASE_DIR variable when you get there? Thanks.

its empty, but dirname(DIR); = “C:\inetpub\CRM”

It’s quite strange, why PHP 's realpath wouldn’t be able to handle “C:\inetpub\CRM” …

What is your PHP version? Is there an upgrade available for your PHP?

Upgrade from 7.9.8 to 7.10.9

Composer autoloader not found. please run “composer install” Linux 3.10.0-693.11.1.el7.x86_64 #1 SMP Mon Dec 4 23:52:40 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

$_SESSION equals target_db_version in $_SESSION
Fri, 28 Sep 2018 15:52:04 -0700 [UpgradeWizard] - finished check to see if current_db_version in $_SESSION equals target_db_version in $_SESSION
Fri, 28 Sep 2018 15:52:04 -0700 [UpgradeWizard] - running deleteChance() function
Fri, 28 Sep 2018 15:52:04 -0700 [UpgradeWizard] - running deleteCache() function
Fri, 28 Sep 2018 15:52:08 -0700 [UpgradeWizard] - call addNewSystemTabsFromUpgrade(upload://upgrades/patch/SuiteCRM-Upgrade-7.9.x-to-7.10.9-restore)
Fri, 28 Sep 2018 15:52:08 -0700 [UpgradeWizard] - check to see if new modules exist
Fri, 28 Sep 2018 15:52:08 -0700 [UpgradeWizard] - new modules to add are array (
‘Surveys’ => ‘Surveys’,
)
Fri, 28 Sep 2018 15:52:08 -0700 [UpgradeWizard] - module tabs updated
Fri, 28 Sep 2018 15:52:08 -0700 [UpgradeWizard] - finished addNewSystemTabsFromUpgrade
Fri, 28 Sep 2018 15:52:08 -0700 [UpgradeWizard] - Registering upgrade with UpgradeHistory
Fri, 28 Sep 2018 15:52:08 -0700 [UpgradeWizard] - Rebuilding style js file: cache/themes/SuiteP/js/style-min.js
Fri, 28 Sep 2018 15:52:08 -0700 [UpgradeWizard] - Rebuilding language cache

How can i get the upgrade to continue.

Run “composer install” from the root of your SuiteCRM directory.

1 Like

Do i install the composer.phar in the root html directory or in a bin directory and just run it from the root html directory?

That means after the installation halts i should run it. What json file should i use with it?

Composer could not find a composer.json file in /var/www/html
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ “Getting Started” section

If I do run composer install after the install stops, will it pickup at the same place if I refresh the screen?

Has anybody resolved this on Linux

I am not sure how this works, especially on Windows.

But normally you don’t have to manually run composer to install SuiteCRM, it works well without that step.

Note that we have a composer.json on the root of our project: https://github.com/salesagility/SuiteCRM/blob/master/composer.json

I would run composer first, and then start (or re-start) the installation.

1 Like

Composer is not installed at all on my Centos version. I added the json file and still have many issues. If composer is a prerequisite it should be noted and or an install provided.

I cannot restart the install either.

sudo -u apache composer install

Cannot create cache directory /usr/share/httpd/.composer/cache/repo/https—repo
a .packagist.org/. or directory is not writable. Proceeding without cache

Cannot create cache directory /usr/share/httpd/.composer/cache/files/. or directory is not writable. Proceeding without cache

[RuntimeException]
/var/www/html/vendor does not exist and could not be created.

[ErrorException]
file_put_contents(./composer.lock): failed to open stream: Permission denied

I’ll try to understand the way SuiteCRM works with Composer a little better, I haven’t looked at it in depth (never needed to), but for now I am convinced that when things go well, you don’t need any special step for this. Maybe this isn’t true in all systems.

Any way the problems you have now all look like ownership/permissions Linux problems. You should be able to get around them with some careful "chown"ing and "chmod"ing.

I have gone through all the permissions. even if I create the directories manually. I really think it is related to my manual composer install. Once the system fails the install I dont know how to get it to continue or revert.

maybe you could tell me the permissions on your mahchine. Is composer owned by root or apache, etc

I would just try the regular SuiteCRM permissions, it should work well:

Try these commands from the root of your SuiteCRM installation:

  sudo chown -R apache:apache .
  sudo chmod -R 755 .
  sudo chmod -R 775 cache custom modules themes data upload
  sudo chmod 775 config_override.php 2>/dev/null

Then run “composer install”, then reset the permissions again.