composer

yii2 Установка пакетов bower через композер (composer)

Чтобы установить через композер какой-либо пакет менеджера bower, делаем следующее:

  1. Пусть имя нашего пакет в bower выглядит как:
    amcharts3-tools
  2. Тогда в composer.json используем в качестве имени разработчика стандартное имя (фиксированное для любого bower-пакета):
    bower-asset

    так что полное имя нашего пакета будет выглядеть в рассматриваемом примере как:

composer Формат имени названия пакета (полное имя пакета)

Обычно полное имя пакета в композер имеет вид:

имя-производителя/имя-пакета

-- то есть состоит из двух частей, разделённых слэшем, где:

composer Последняя версия (самая новая) -- Устанавливаем произвольную версию пакета (без указания версии)

Предположим, что вам необходимо установить произвольную версию пакета bower-asset/amcharts3-tools (такое может быть, если у этого пакета вообще нет версии), тогда в composer.json надо написать строку вида:

[Composer\Downloader\TransportException] failed to open stream: Connection timed out Ошибка

[Composer\Downloader\TransportException]
The "https://api.github.com/repos/....." file could not
be downloaded: failed to open stream: Connection timed out

heads?p
er_page=100" file could not be downloaded: failed to open stream: Connectio
n timed out

-- это сетевая ошибка и возможно она связана с ipv6, но через час выяснений причин все заработала "само собой". Причина так и не выяснена.

composer Package not found -- Не загружается пакет. как найти ошибку что не так

Package not found#

Double-check you don't have typos in your composer.json or repository branches and tag names.

Be sure to set the right minimum-stability. To get started or be sure this is no issue, set minimum-stability to "dev".

Packages not coming from Packagist should always be defined in the root package (the package depending on all vendors).

Use the same vendor and package name throughout all branches and tags of your repository, especially when maintaining a third party fork and using replace.

иерархическия загрузка Composer no matching package found -- секция repositories не используется для потомков в иерархии зависи

Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see for more details.

действительно, это секция искл. root-only: --
https://getcomposer.org/doc/04-schema.md...

Решение

Необходимо:

composer root-only -- Что это. Корневой репозиторий

root-only (т.е. верное только для корня) -- опция compser.json, которая будет работать только для того проекат-пакета, ради которого и выполняется вся загрузка -- то есть такого, в котором и был выполнен composer install.

Важен контекст

То есть один и тот же пакет может быть корневым (если зависимости подтягиваются для него как главной цели) или же дочерним -- если он сам подтягивается как зависимость для другого проекта

composer Loading composer repositories failed to execute git clone --mirror Ошибка решение

Loading composer repositories with package information

[RuntimeException]
Failed to execute git clone --mirror

--возможно есть адрес репозитория скажем на гитхабе указан некорректно - например внутри кавычек перед URL есть пробел.

composer Как включить автозагрузку классов, загруженных композером

Чтобы подключить автозагрузчики композера, достаточно подтянуть в php его "точку входа" -- autoload.php, вызов может быть таким (если файл со строкой находится в той же папке что и папка vendor/):

require __DIR__ . '/vendor/autoload.php';

-- после чего композер, в случае если класс не загружен (очередной встретившийся в коде), попытается найти его внутри папки vendor/

composer Что такое пакет, зависимость

Термины

  • Пакет -- это то, чем оперирует композер (файл/директория с файлами или логически объединеннная их группа), когда подтягивает зависимости какого-либо проекта (приложения) или другого пакета (зависимости могут быть иерархическими).

    Всякий пакет в конечно итоге это какие-то файлы, которые можно загрузить в свое web-приложение с помощью композера. На практике часто это php-классы, находящиеся в каком-либо пространстве имён.

Pages

Subscribe to RSS - composer