web-dev-qa-db-fra.com

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

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 :)

54
Jefren Inocando

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 :)

97
Jefren Inocando

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
17
Ilya Kolesnikov

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

9
Shahzad Malik

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.

2
hserge

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.

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

1
Nick Tsai

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!

0
SlovyanskiyYehor

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.

0
Aditya Mittal