web-dev-qa-db-fra.com

Magento 2 ne charge pas CSS et JavaScript

J'ai installé magento 2 avec succès sur localhost mais je ne parviens pas à voir le panneau d'administration car il me rend l'erreur 404.

Deuxièmement, lorsque j'ouvre front-end, CSS et JavaScript ne se chargent pas. Ils génèrent également des erreurs 404.

Aussi, quand j'essaie d'exécuter la commande:

{your Magento install dir}/bin/magento setup:static-content:deploy

J'ai eu l'erreur suivante

[InvalidArgumentException]                                              
There are no commands defined in the "setup:static-content" namespace.
10
Scott

Celui-ci a fonctionné pour moi . Utiliser cette commande php bin/magento setup:static-content:deploy 

Étape 1: dans CMD Ouvrez votre répertoire racine à l’aide de la commande cd

Étape 2: php bin/magento setup:static-content:deploy - exécutez cette commande

ensuite, vérifiez votre dossier pub/static, les fichiers CSS et Js y seront disponibles

Référez-vous ceci

18
Mohammed Anis

Essayez la même commande que l'utilisateur root en ajoutant Sudo comme ci-dessous.

Sudo php bin/magento setup:static-content:deploy
6
SIBHI S

Bien que ce soit une question ancienne, ses réponses ne pourraient pas m'aider à résoudre mon problème, ce qui générerait le même message d'erreur. Je suggère les suivants:

  1. Au début, vous pouvez trouver sa cause sous-jacente. Dans votre répertoire magento2, recherchez une erreur magento comme suit:

tail var/log/system.log

Ou trouver s'il y a une erreur dans le fichier journal des erreurs php

Si vous trouvez une erreur isolée, corrigez-la.

  1. Si aucune erreur n'est trouvée, procédez comme suit. Supprimez le dossier de génération en exécutant les commandes suivantes:
Sudo rm -rf pub/static
Sudo rm -rf var/cache
Sudo rm -rf var/composer_home
Sudo rm -rf var/generation
Sudo rm -rf var/page_cache
Sudo rm -rf var/view_preprocessed

Après les avoir supprimés, vous pouvez les recréer en exécutant les commandes suivantes:

Sudo php -f bin/magento setup:static-content:deploy
3
Agilox

Exécutez les commandes suivantes dans l'interface CLI de votre dossier racine Magento2:

$ php bin/magento setup:static-content:deploy
$ php bin/magento indexer:reindex

Supprimez ensuite le dossier var par cette commande à la racine de magento2.

$ rm -rf var/*

Ensuite, actualisez votre page d'accueil et votre panneau d'administration.

2
Mukesh Prajapati

Nous avons également rencontré ce problème une fois et l'avons réglé. Pour cela, vous devez aller directement dans le répertoire bin et utiliser cette commande. Par exemple,

php magento setup:static-content:deploy

Quelques fois si vous exécutez cette commande en dehors de bin ou depuis n’importe quel répertoire 

php bin/magento setup:static-content:deploy

alors vous obtiendrez une erreur comme (peut-être est-ce à cause du système linux),

[InvalidArgumentException]
  There are no commands defined in the "setup:static-content" namespace.

Mettre à jour:

Si un fichier *.xml dans nos modules personnalisés n'est pas valide, la même erreur se produira.

2
Elavarasan

Voici la solution la plus simple si vous affichez le nom de la version dans le chemin css

comme: pub/static/version323334 /

puis lancez cette requête dans mon sql 

 INSERT INTO 'core_config_data' ('path', 'value') 
VALUES ('dev/static/sign', 0) 
ON DUPLICATE KEY UPDATE value = 0;

après cela effacer le cache de configuration 

 bin/magento cache:clean config

vous pouvez également désactiver la version de fichier statique sous forme d'administrateur 

 enter image description here

2
Surendra Kumar Ahir

J'ai également eu le même problème et l'étape ci-dessous résout mon problème:

Étape 1: Accédez au répertoire dans lequel magento est installé. 
Étape 2: Exécutez "Configuration de Sudo php bin/magento: static-content: deploy"

1
Afroz Alam

Fournissez une commande de déploiement statique comme ceci:

php bin/magento setup:static-content:deploy

Veuillez définir une autorisation complète pour les dossiers pub et var.

1
VIPIN A ROY

Veuillez suivre les étapes ci-dessous pour vous débarrasser de ces problèmes.

1) Téléchargez le Magento 2.

2) Extrayez-le dans votre répertoire www OR htdocs.

3) Installez le magento. N'utilisez pas localhost , utilisez 127.0.0.1 url in store et admin url.

4) Une fois l'installation réussie, NE LANCEZ PAS MAGENTO.

5) Supprimez maintenant le cache/la session de magento 2. Allez dans les chemins mentionnés ci-dessous et supprimez les fichiers.

Magento Root > var > cache > Delete all files

Magento Root > var > page_cache > Delete all files

Magento Root > var > session > Delete all files

6) Modifiez le comportement des liens symboliques pour certaines ressources statiques, comme indiqué ci-dessous: - 

Lorsque Magento 2 n'est pas en mode de production, il essaiera de créer des liens symboliques pour certaines ressources statiques sur le serveur local. Nous devons changer ce comportement de Magento 2 en allant dans le fichier ROOT > app > etc > di.xml. Ouvrez di.xml dans votre éditeur de code préféré, recherchez la section virtualType name="developerMaterialization". Dans la section ci-dessous, vous trouverez un élément <item name="view_preprocessed" xsi:type="object"> qui doit être modifié. Vous pouvez le modifier en modifiant le contenu suivant:

Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink

À:

Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

7) Supprimer tous les fichiers sauf .htaccess

Magento Root > pub > static > Delete all files except **.htaccess**

C'EST FAIT. Maintenant, vous pouvez utiliser les URL magento Front et Backend

0
Muhammad Azeem

Je fais juste

rm -rf var/di

alors cela fonctionne à nouveau.

0
LucScu

il vous suffit d'exécuter cette commande sur votre terminal

php bin/magento setup:static-content:deploy

Assurez-vous de donner le chemin racine de votre magento in terminal, puis exécutez la commande ci-dessus.

0
Rahul Singh

La réponse suivante fonctionne pour moi, merci:

ouvrir le fichier MAGENTO_ROOT/app/etc/di.xml

et remplacez le code ci-dessous, numéro de ligne 574

Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink

avec

Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

EFFACER

MAGENTO_ROOT/pub/static/_requirejs

MAGENTO_ROOT/pub/static/adminhtml

MAGENTO_ROOT/pub/static/frontend
0
user2244763

Cela a fonctionné pour moi:

1) Déploiement du contenu statique. Exécutez la commande ci-dessous à partir du répertoire racine de Magento 2:

Sudo php bin/magento setup:static-content:deploy

2) Effacez tout dans le répertoire var/cache ou videz le cache de Magento 2 à l’aide de la commande ci-dessous:

php bin/magento cache:flush

3) Définissez les autorisations appropriées pour les répertoires Magento 2 en exécutant la commande ci-dessous à partir du répertoire racine de Magento 2:

Sudo find . -type d -exec chmod 770 {} \; && Sudo find . -type f -exec chmod 660 {} \; && Sudo chmod u+x bin/magento

J'espère que cela t'aides.

0
Abhijith

Il suffit d'ouvrir le

MAGENTO_ROOT/app/etc/di.xml

et remplacez le code ci-dessous, numéro de ligne 574

<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item>

À

<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>

EFFACER 

MAGENTO_ROOT/pub/static/_requirejs

MAGENTO_ROOT/pub/static/adminhtml

MAGENTO_ROOT/pub/static/frontend

0
Mitul

Si vous rencontrez des problèmes après l’installation dans Magento 2. Vous pouvez suivre ces étapes:

1) Exécutez cette requête:

INSERT INTO core_config_data (path, value) VALUES ('dev/static/sign', 0)
ON DUPLICATE KEY UPDATE value = 0;

2) Pour la machine locale, exécutez cette requête:

UPDATE `binarytrue`.`core_config_data` SET `value` = '0' WHERE 
`core_config_data`.`path` LIKE  '%web/seo/use_rewrites%';

3) Supprimez tous les fichiers des répertoires pub et var:

Sudo rm -rf var/di var/generation/ var/page_cache/ var/cache/
pub/static/frontend/ pub/static/adminhtml/ pub/static/_requirejs/ 
pub/static/deployed_version.txt

4) Autorisez les répertoires var et pub de votre projet:

Sudo chmod -R 777 var/* pub/*

5) Mise à niveau de la configuration:

Sudo bin/magento setup:upgrade

6) Déployer le contenu:

Sudo php bin/magento setup:static-content:deploy

Après ces étapes, vous pourrez voir le thème approprié.

0
Khan arman

Juste une solution simple et correcte, espérons utile.

Allez sur votre icône wampserver et cliquez dessus et puis 

  1. Apache-> Apache modules-> rewrite_module [activer ceci]  

Après cela, redémarrez tous les services et vérifiez-le.

0
Ashish Patel

Après avoir essayé toutes les solutions mentionnées ici et dans https://magento.stackexchange.com/questions/97209/magento-2-css-and-javascript-not-loading-from-correct-folder

Nous n'avons pas réussi à faire avancer les choses. 

Mais cette réponse est très étrange mais cela a fonctionné pour nous.

Tout d'abord, nous avons effacé le cache et vérifié que les fichiers statiques étaient créés dans pub/static/folder . Ensuite, nous avons vérifié que le fichier deploy_version.txt contenait le même numéro de version que celui chargé dans l'URL.

Notre principal responsable était le fichier .htaccess présent dans le dossier pub. Il devrait y avoir un seul fichier .htaccess dans le dossier pub/static mais pas dans le dossier pub . Cela a fait l'affaire pour nous, après avoir cherché partout.

J'espère que cela aidera les autres à la recherche d'une réponse similaire.

0
Suzit

Si vous rencontrez des problèmes de css et de conception après l’installation sous Windows, procédez comme suit:

  1. php bin/magento setup:static-content:deploy
  2. php bin/magento indexer:reindex
  3. assurez-vous qu'Apache "rewrite_module" est activé, puis redémarrez le serveur
  4. supprimer le dossier de cache sous var/cache
0
Sagar U

Cette erreur se produit lorsque vous n'avez pas correctement configuré l'autorisation. Il ne peut pas voir que la commande existe réellement.

Essayez de courir:

Sudo find . -type d -exec chmod 770 {} \; && Sudo find . -type f -exec chmod 660 {} \; && Sudo chmod u+x bin/magento Sudo chown -R $(whoami):www-data .

Changez www-data en utilisateur de serveur Web approprié. par exemple. Apache ou www-data.

0
Petter Kjelkenes

Cela se produit généralement en raison d'un échec de la compilation dans le dossier var/di. Vous pouvez le résoudre en supprimant tout ce qui se trouve dans votre dossier var. 

Aussi pour l'avenir, n'oubliez pas que la ligne de commande magento implémente les niveaux de verbosité de symfony: ajoutez --v ou ---v à votre commande pour afficher l'erreur exacte. 

0
Claudiu Creanga