Pim-community-dev: Erreur de mise à jour 3.0 à 3.1

Créé le 11 sept. 2019  ·  7Commentaires  ·  Source: akeneo/pim-community-dev

Bonjour, j'essaie de mettre à jour la version 3.0CE vers 3.1CE.

Quand je lance la commande :

php bin/console cache:clear --env=prod

j'ai l'erreur suivante

image

Version du serveur MySQL : 5.7.26
Apache/2.4.25 (Debian)
PHP 7.2.22-1
nodejs v10.16.0
Recherche élastique 6.8.1

Commentaire le plus utile

J'ai trouvé la cause de l'erreur. Avant de lancer

bin / console cache: clear --env = prod

Vous devez vider le répertoire var/cache/_[prod, dev]_. Etonnant de devoir supprimer le cache pour lancer la commande qui purge le cache... ;)

Tous les 7 commentaires

Salut Philippe,

Avez-vous suivi le fichier UPGRADE.md (à la racine du PIM) pour mettre à jour votre PIM ?
https://github.com/akeneo/pim-community-dev/blob/3.1/UPGRADE.md
Quelle est l'étape qui vous lève cette erreur ?

Salutations,

Salut Doodoune,

J'ai bien utilisé ce readme pour suivre la procédure de mise à jour.

Cette erreur se produit à l'étape 4 du paragraphe « Migrez votre code personnalisé ». Mais en relisant la procédure je me rends compte que c'est dans le cas où j'ai personnalisé mon installation d'Akeneo ce qui n'est pas mon cas. Je suis sur une installation standard.

Mais si je ne réalise pas cette étape et que je m'arrête à l'étape 10 de "Migrez votre projet standard" j'ai une page blanche et dans les logs apache je :

Got error 'PHP message: PHP Fatal error: Uncaught Symfony\\Component\\Debug\\Exception\\ClassNotFoundException: Attempted to load class "VoterInitializerListener" from namespace "Knp\\Bundle\\MenuBundle\\EventListener".\nDid you forget a "use" statement for another namespace? in /var/www/html/pim-community-standard/var/cache/prod/ContainerJjy8q4b/appProdProjectContainer.php:5602\nStack trace:\n#0 /var/www/html/pim-community-standard/var/cache/prod/ContainerJjy8q4b/appProdProjectContainer.php(4668): ContainerJjy8q4b\\appProdProjectContainer->getKnpMenu_Listener_VotersService()\n#1 /var/www/html/pim-community-standard/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(229): ContainerJjy8q4b\\appProdProjectContainer->ContainerJjy8q4b\\{closure}()\n#2 /var/www/html/pim-community-standard/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(61): Symfony\\Component\\EventDispatcher\\EventDispatcher->sortListeners('kernel.request')\n#3 /var/www/html/pim-community-standard/vendor/symf...\n'

As-tu fait une mise à jour du compositeur ? Peut-être que votre KnpBundle n'est pas à jour.

J'ai mis à jour composer vers 1.9.0 et j'ai la même erreur

Got error 'PHP message: PHP Fatal error: Uncaught Symfony\\Component\\Debug\\Exception\\ClassNotFoundException: Attempted to load class "VoterInitializerListener" from namespace "Knp\\Bundle\\MenuBundle\\EventListener".\nDid you forget a "use" statement for another namespace? in /var/www/html/pim-community-standard/var/cache/prod/ContainerJjy8q4b/appProdProjectContainer.php:5602\nStack trace:\n#0 /var/www/html/pim-community-standard/var/cache/prod/ContainerJjy8q4b/appProdProjectContainer.php(4668): ContainerJjy8q4b\\appProdProjectContainer->getKnpMenu_Listener_VotersService()\n#1 /var/www/html/pim-community-standard/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(229): ContainerJjy8q4b\\appProdProjectContainer->ContainerJjy8q4b\\{closure}()\n#2 /var/www/html/pim-community-standard/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(61): Symfony\\Component\\EventDispatcher\\EventDispatcher->sortListeners('kernel.request')\n#3 /var/www/html/pim-community-standard/vendor/symf...\n'

Compositeur de rapport

Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 3 installs, 8 updates, 11 removals
  - Removing symfony/assetic-bundle (v2.8.2)
  - Removing phpoption/phpoption (1.5.0)
  - Removing phpcollection/phpcollection (0.5.0)
  - Removing leafo/lessphp (v0.5.0)
  - Removing kriswallsmith/assetic (v1.4.0)
  - Removing knplabs/knp-menu-bundle (2.1.3)
  - Removing knplabs/knp-menu (2.2.0)
  - Removing jms/serializer-bundle (2.0.0)
  - Removing jms/serializer (1.8.1)
  - Removing jms/parser-lib (1.0.0)
  - Removing jms/metadata (1.7.0)
  - Updating doctrine/cache (v1.6.1 => v1.8.0): Loading from cache
  - Updating doctrine/annotations (v1.3.1 => v1.6.0): Loading from cache
  - Installing doctrine/reflection (v1.0.0): Loading from cache
  - Installing doctrine/event-manager (v1.0.0): Loading from cache
  - Installing doctrine/persistence (v1.1.0): Loading from cache
  - Updating doctrine/common (v2.7.2 => v2.10.0): Loading from cache
  - Updating doctrine/instantiator (1.0.5 => 1.1.0): Loading from cache
  - Updating doctrine/dbal (v2.5.13 => v2.7.2): Loading from cache
  - Updating doctrine/orm (v2.5.14 => v2.6.3): Loading from cache
  - Updating doctrine/doctrine-bundle (1.6.7 => 1.10.2): Loading from cache
  - Updating akeneo/pim-community-dev (v3.0.40 => v3.1.18): Loading from cache
Writing lock file
Generating autoload files

What about running composer thanks now?
This will spread some 💖  by sending a ★  to 82 GitHub repositories of your fellow package maintainers.

ocramius/package-versions:  Generating version class...
ocramius/package-versions: ...done generating version class
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
Updating the "app/config/parameters.yml" file
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache

 // Clearing the cache for the dev environment with debug                       
 // true                                                                        


 [OK] Cache for the "dev" environment (debug=true) was successfully cleared.    


> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets

 Trying to install assets as relative symbolic links.

 --- --------------------------- ------------------ 
      Bundle                      Method / Error    
 --- --------------------------- ------------------ 
  ✔   FOSJsRoutingBundle          relative symlink  
  ✔   OroConfigBundle             relative symlink  
  ✔   PimDataGridBundle           relative symlink  
  ✔   PimUserBundle               relative symlink  
  ✔   AkeneoPimEnrichmentBundle   relative symlink  
  ✔   AkeneoPimStructureBundle    relative symlink  
  ✔   PimDashboardBundle          relative symlink  
  ✔   PimAnalyticsBundle          relative symlink  
  ✔   PimImportExportBundle       relative symlink  
  ✔   PimNotificationBundle       relative symlink  
  ✔   PimUIBundle                 relative symlink  
 --- --------------------------- ------------------ 


 [OK] All assets were successfully installed.                                   


> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::removeSymfonyStandardFiles
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::prepareDeploymentTarget
> php bin/console --ansi fos:js-routing:dump --target=web/js/routes.js
Dumping exposed routes.

[file+] web/js/routes.js
> php bin/console --ansi pim:installer:assets
Akeneo PIM assets
Dumping exposed routes.

[file+] /var/www/html/pim-community-standard/app/../web/js/routes.js

 Installing assets as hard copies.

 --- --------------------------- ---------------- 
      Bundle                      Method / Error  
 --- --------------------------- ---------------- 
  ✔   FOSJsRoutingBundle          copy            
  ✔   OroConfigBundle             copy            
  ✔   PimDataGridBundle           copy            
  ✔   PimUserBundle               copy            
  ✔   AkeneoPimEnrichmentBundle   copy            
  ✔   AkeneoPimStructureBundle    copy            
  ✔   PimDashboardBundle          copy            
  ✔   PimAnalyticsBundle          copy            
  ✔   PimImportExportBundle       copy            
  ✔   PimNotificationBundle       copy            
  ✔   PimUIBundle                 copy            
 --- --------------------------- ---------------- 

 ! [NOTE] Some assets were installed via copy. If you make changes to these     
 !        assets you have to run this command again.                            


 [OK] All assets were successfully installed.                                   


Generating require.js main config
12:11:45 [file+] en_US.js
12:11:45 [file+] ca_ES.js
12:11:45 [file+] da_DK.js
12:11:45 [file+] de_DE.js
12:11:45 [file+] es_ES.js
12:11:45 [file+] fi_FI.js
12:11:45 [file+] fr_FR.js
12:11:45 [file+] hr_HR.js
12:11:46 [file+] it_IT.js
12:11:46 [file+] ja_JP.js
12:11:46 [file+] nl_NL.js
12:11:46 [file+] pl_PL.js
12:11:46 [file+] pt_BR.js
12:11:46 [file+] pt_PT.js
12:11:46 [file+] ru_RU.js
12:11:46 [file+] sv_SE.js
12:11:46 [file+] tl_PH.js
12:11:46 [file+] zh_CN.js
12:11:46 [file+] sv_SE.js
12:11:46 [file+] en_NZ.js
> Akeneo\Platform\Bundle\InstallerBundle\ComposerScripts::copyUpgradesFiles
Copying migration folder from Akeneo PIM dependency to standard version.
Done.
yarn install v1.17.3
[1/4] Resolving packages...
[2/4] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 16.88s.

Après plusieurs tentatives j'ai finalement réussi.

Ce qui n'est pas clair dans la doc, c'est : faut-il exécuter les commandes suivantes :

bin/console cache:clear --env=prod
bin/console pim:installer:assets --clean --env=prod
yarn run less
yarn run webpack

Dans le doute je les ai lancés, je n'ai rencontré aucun problème et maintenant j'ai même accès à mon installation mise à jour.

J'ai trouvé la cause de l'erreur. Avant de lancer

bin / console cache: clear --env = prod

Vous devez vider le répertoire var/cache/_[prod, dev]_. Etonnant de devoir supprimer le cache pour lancer la commande qui purge le cache... ;)

Heureux que vous ayez résolu votre problème.
Je clos ce sujet. N'hésitez pas à le rouvrir si besoin.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

Piotr-Borek picture Piotr-Borek  ·  5Commentaires

paulchubatyy picture paulchubatyy  ·  5Commentaires

ronn0 picture ronn0  ·  4Commentaires

henryktews picture henryktews  ·  4Commentaires

peleq-smile picture peleq-smile  ·  4Commentaires