Не удается обновить yii2 через composer Bower-Asset/jquery не удалось найти

Я обновлял свой yii2 через композитор, а затем вернулся к старой бета-версии.

Вот ошибка моего композитора:

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.

Пробовал искать bower-asset/jquery в packagegist, но не нашел.

Спасибо за помощь :)


person Jefren Inocando    schedule 17.09.2014    source источник
comment
Они реорганизуют часть управления активами. Несколько часов назад произошли изменения. github.com/yiisoft/yii2-app-advanced/commit/   -  person Mihai P.    schedule 17.09.2014
comment
Проклятие. Сейчас не время экспериментировать и заставлять новичков отказываться от Yii. Многие люди, вероятно, попробуют другие фреймворки, если их первая установка не «просто сработает».   -  person Felipe    schedule 15.10.2014


Ответы (8)


Наконец исправил это, просто следуя инструкциям в документе UPGRADE.md.

Если вы используете Composer для обновления Yii, вы должны сначала выполнить следующую команду (один раз для всех), чтобы установить composer-asset-plugin:

composer global require "fxp/composer-asset-plugin:^1.2.0"

(См. http://www.yiiframework.com/doc-2.0/guide-start-installation.html#installing-from-composer для последней версии.)

Вам также может понадобиться добавить следующий код в файл composer.json вашего проекта:

"extra": {
    "asset-installer-paths": {
        "npm-asset-library": "vendor/npm",
        "bower-asset-library": "vendor/bower"
    }
}

Надеюсь, это поможет :)

person Jefren Inocando    schedule 17.09.2014
comment
Мне пришлось запустить php composer.phar global require fxp/composer-asset-plugin:1.0.0-beta1 вместо php composer.phar global require fxp/composer-asset-plugin:1.0.*@dev - person VeYroN; 20.09.2014
comment
Спасибо, это мне очень помогло :) - person user3640056; 23.04.2015
comment
Я обнаружил, что если я уже запускал composer update до этого, мне нужно было удалить папку vendor/, иначе ошибка сохранялась. - person cornernote; 17.08.2015
comment
По состоянию на 23.06.2017... Мне пришлось сделать следующее sudo composer self-update и composer global require "fxp/composer-asset-plugin:^1.3.1" Мне не нужно было добавлять дополнительный раздел в composer.json. - person Craig London; 23.06.2017
comment
Примечание. Некоторое время назад компания Bower изменила URL-адрес своего реестра и теперь объявила о устаревшем URL-адресе. . Старый реестр будет отключен 31 октября 2017 г. Чтобы это не повлияло на вашу работу, обязательно обновите плагин ресурсов композитора до последней версии: composer global require "fxp/composer-asset-plugin:^1.4.2" - person Gianpaolo Scrigna; 02.11.2017

Мне помогает удалить папку ~/.composer и выполнить команду:

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

Тогда просто беги снова

php composer.phar update
person Ilya Kolesnikov    schedule 05.12.2015
comment
Или, чтобы получить последнюю стабильную версию: php composer.phar global требует fxp/composer-asset-plugin - person sonofagun; 07.02.2016
comment
Если у вас нет composer.phar, это также должно работать: composer global require fxp/composer-asset-plugin:~1.1 - person jsh; 07.06.2016

Нашел более чистое решение. Просто добавьте следующий репозиторий в файл composer.json

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

и смотри волшебство

person Shahzad Malik    schedule 06.11.2017
comment
Это решило мою ошибку обновления компоновщика Bower-Asset/Amcharts-Stock....! Огромное спасибо..!!!!!! - person Gru; 29.06.2018
comment
Это больше не работает. assets-packagist.org выглядит как заброшенный проект. Пакеты часто недоступны, поэтому вам нужно вручную зайти на этот веб-сайт и обновить каждый из них. - person mae; 26.10.2019

Если вы не хотите использовать fxp/composer-asset-plugin, все, что вам нужно сделать, это следовать этим простым инструкциям от Yii2 документация.

Использование репозитория assets-packagist

Этот способ удовлетворит требования большинства проектов, которым нужны пакеты NPM или Bower.

Примечание. Начиная с версии 2.0.13, базовый и расширенный шаблоны приложений по умолчанию предварительно настроены на использование assets-packagist, поэтому вы можете пропустить этот раздел.

В composer.json вашего проекта добавьте следующие строки:

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

Настройте псевдонимы @npm и @bower в конфигурации вашего приложения:

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

Посетите asset-packagist.org, чтобы узнать, как это работает.

person hserge    schedule 18.07.2018

Если вам не нужно обновление для Bower-Asset, вы можете потребовать yidas/yii2-composer-bower-skip перед yiisoft/yii2. в composer.json файле:

"require": {
    "php": ">=5.4.0",
    "yidas/yii2-composer-bower-skip": "~2.0.0",
    "yiisoft/yii2": "~2.0.5",
    "yiisoft/yii2-bootstrap": "~2.0.0"
}

После этого вы можете плавно обновлять Composer без использования Bower-актива.

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

person Nick Tsai    schedule 02.06.2017
comment
@Alex Рад это слышать :-) - person Nick Tsai; 24.07.2017

Как описано в документации репозитория YII2: https://asset-packagist.org/site/about. Мы можем решить эту проблему, добавив псевдонимы для этих папок в нашу конфигурацию. Это будет выглядеть так:

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

Он работает отлично!

person SlovyanskiyYehor    schedule 09.03.2018

Простое и понятное решение:

В composer.json просто замените строку bower-asset/jquery на: "yidas/yii2-bower-asset":"*"


Я предлагаю добавить также bower-asset/datatables в файл yidas/yii2-bower-asset


Мои проблемы с принятым решением добавления fxp/composer-asset-plugin заключаются в том, что этот плагин значительно замедляет работу системы композитора, воздействует повсюду, не всегда переносим между операционными системами и средами, имеет ошибки с PHP7.2, связанный с несогласованными именами методов. Итак, я предпочитаю более быстрое в разработке, более быстрое во время выполнения, более локальное и более совместимое решение.

person Aditya Mittal    schedule 08.05.2018

Я попробовал все упомянутые шаги, такие как добавление следующего в main.php

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

composer.json

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

Выполнение установки/обновления композитора по-прежнему не устанавливало пакеты Bower, предоставленные yii2-bootstrap.

Я обнаружил, что использовал composer.phar 2x для настройки. Я понизил версию composer.phar до 1x, и все работает хорошо, без необходимости использования плагина fxp/composer-asset-plugin.

person Terry    schedule 19.03.2021