Impossible de mettre à jour yii2 via composer bower-asset / jquery introuvable

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.

Essayé de chercher bower-asset / jquery chez packagist mais il n'est pas trouvé.

Merci pour l'aide :)

50
demandé sur Jefren Inocando 2014-09-17 08:22:15

7 réponses

Finalement fixé, juste suivi les étapes sur le UPGRADE.md doc

Si vous utilisez Composer pour mettre à niveau Yii, vous devez d'abord exécuter la commande suivante (Une fois pour toutes) pour installer le compositeur-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 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"
    }
}

Espère que cela aide :)

87
répondu Jefren Inocando 2017-01-12 19:34:39

Pour moi aide à supprimer le dossier ~/.composer et exécuter la commande:

php composer.phar global require "fxp/composer-asset-plugin:1.*"

Ensuite, exécutez à nouveau

php composer.phar update
16
répondu Ilya Kolesnikov 2016-04-25 08:52:36

Trouvé une solution plus propre. Ajoutez simplement le référentiel suivant dans votre compositeur.fichier json

"repositories": [
 {
  "type": "composer",
  "url": "https://asset-packagist.org"
 }
]

Et regarder la magie

5
répondu Shahzad Malik 2017-11-06 08:50:59

Si vous n'avez pas besoin de la mise à jour de la charmille-actif, vous pouvez exiger 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 en douceur sans bower-asset.

Voir https://github.com/yidas/yii2-composer-bower-skip

1
répondu Nick Tsai 2017-07-11 06:48:57

Si vous ne voulez pas utiliser fxp/composer-asset-plugin alors tout ce que vous avez à faire est de suivre ces instructions simples de la documentation Yii2 .

Utilisant la packagist référentiel

Cette façon répondra aux exigences de la majorité des projets, qui ont besoin de paquets npm ou Bower.

Remarque: depuis 2.0.13, les modèles D'application de base et avancés sont pré-configuré pour utiliser asset-packagist par défaut, de sorte que vous pouvez ignorer cela section.

Dans le compositeur.json de votre projet, ajoutez les lignes suivantes:

"repositories": [
    {
        "type": "composer",
        "url": "https://asset-packagist.org"
    }
]

Ajustez les alias @ npm et @bower dans votre configuration d'application:

$config = [
    ...
    'aliases' => [
        '@bower' => '@vendor/bower-asset',
        '@npm'   => '@vendor/npm-asset',
    ],
    ...
];

Visite asset-packagist.org savoir, comment il fonctionne.

1
répondu hserge 2018-07-18 17:55:28

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. Cela ressemblera à ceci:

   $config = [
      ...
     'aliases' => [
        '@bower' => '@vendor/bower-asset',
        '@npm'   => '@vendor/npm-asset',
     ],
     ...
  ];

Cela fonctionne parfaitement!

0
répondu SlovyanskiyYehor 2018-03-09 16:13:18

Solution simple et propre:

Dans compositeur.JSON remplace simplement la ligne bower-asset / jquery par: "yidas/yii2-bower-actif":"*"


Je propose, nous ajoutons également la charmille-actif/datatables à la yidas/yii2-bower-actif


Mes problèmes avec la solution acceptée d'ajouter FXP / composer-asset-plugin sont que le plugin ralentit considérablement le système composer, impacte partout, n'est pas toujours portable sur les systèmes d'exploitation et environnements, a des erreurs avec PHP7. 2 relatives aux noms de méthode incohérents. Donc, je préfère ma solution plus rapide à développer, plus rapide à l'exécution, plus locale et plus compatible.

0
répondu Aditya Mittal 2018-05-08 10:25:27