Je mettais à jour mon yii2 via composer) puis je suis revenu à l'ancienne version bêta.
Voici l'erreur sur mon compositeur:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package bower-asset/jquery could not be found in any version, there may be a typ
o in the package name.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setti
ng
see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.
Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
J'ai essayé de chercher bower-asset/jquery chez packagist mais cela n’a pas été trouvé.
Merci pour l'aide :)
Enfin corrigé, je viens de suivre les étapes sur la doc UPGRADE.md
Si vous utilisez Composer pour mettre à niveau Yii, vous devez d'abord exécuter la commande suivante (une fois pour toutes) pour installer le plug-in composer-asset-plugin:
composer global require "fxp/composer-asset-plugin:^1.2.0"
(Voir http://www.yiiframework.com/doc-2.0/guide-start-installation.html#installing-from-composer pour obtenir la dernière version.)
Vous devrez peut-être également ajouter le code suivant au fichier composer.json
De votre projet:
"extra": {
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
}
}
J'espère que cela aide :)
Pour moi, aide à supprimer le dossier ~/.composer et à exécuter la commande:
php composer.phar global require "fxp/composer-asset-plugin:1.*"
Alors viens courir à nouveau
php composer.phar update
Trouvé une solution plus propre. Ajoutez simplement le référentiel suivant dans votre fichier composer.json
"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
}
]
et regarder la magie
Si vous ne voulez pas utiliser fxp/composer-asset-plugin
_ tout ce que vous avez à faire est de suivre ces instructions simples tirées de Yii2 documentation .
Utilisation du référentiel asset-packagist
Cela répondra aux besoins de la majorité des projets nécessitant des packages NPM ou Bower.
Remarque: Depuis la version 2.0.13, les modèles d'application de base et avancés sont préconfigurés pour utiliser Asset-Packagist par défaut. Vous pouvez donc ignorer cette section.
Dans le composer.json de votre projet, ajoutez les lignes suivantes:
"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
}
]
Ajustez les alias @npm et @bower dans la configuration de votre application:
$config = [
...
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
],
...
];
Visitez asset-packagist.org pour savoir comment cela fonctionne.
Si vous n'avez pas besoin de la mise à jour pour bower-asset, vous pouvez avoir besoin de yidas/yii2-composer-bower-skip
avant yiisoft/yii2.
dans composer.json
fichier:
"require": {
"php": ">=5.4.0",
"yidas/yii2-composer-bower-skip": "~2.0.0",
"yiisoft/yii2": "~2.0.5",
"yiisoft/yii2-bootstrap": "~2.0.0"
}
Après cela, vous pouvez mettre à jour Composer sans à-coups, sans bower-asset.
Comme décrit dans la documentation du référentiel YII2: https://asset-packagist.org/site/about Nous pouvons résoudre ce problème en ajoutant des alias sur ces dossiers dans notre configuration. Ça va ressembler à ça:
$config = [
...
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
],
...
];
Cela fonctionne parfaitement!
Solution simple et propre:
Dans composer.json, il suffit de remplacer la ligne bower-asset/jquery par: "yidas/yii2-bower-asset": "*"
Je propose nous ajoutons aussi bower-asset/datatables au yidas/yii2-bower-asset
Mes problèmes avec la solution acceptée d'ajouter fxp/composer-asset-plug-in sont que le plug-in ralentit considérablement le système composer, impacte partout, n'est pas toujours portable Dans certains systèmes et environnements d’exploitation, PHP7.2 présente des erreurs liées à des noms de méthodes incohérents, ce qui me permet de développer plus rapidement, plus rapidement au moment de l’exécution, plus locale et une solution plus compatible.