composer

composer config platform Описание параметра -- Как переопределить (эмулировать) версию PHP и фактические версии расширений ядра

Подсекция platform секции config манифеста composer.json позволяет эмулировать (обманывать) требования пакетов к среде выполнения (например, интерпретатору php и его расширений), например, если эта секция она выглядит:

"config": {
        "platform": {
            "php": "5.5.9"
        }
    },

-- заставит все пакеты считать, что в вашей системе установлена версия php = 5.5.9, хотя в реальности будет использовать реальный интерпретатор.

composer Your PHP version does not satisfy that requirement Ошибка Решение

Текст ошибки:

Your requirements could not be resolved to an installable set of packages.
Problem 1
- This package requires php >=7.1.3 but your PHP version (5.5.9) does not satisfy that requirement.

Моя версия php (результат команды php -v):

composer - Ошибки при composer update. Как решить проблемы с композером

У меня бывали случаи, когда внезапно ломается композер (хотя изменения в composer.json не вносились) при запуске команды composer update. Начинают появляться различные ошибки, часто основаные на невозможности найти какой-либо класс. Например такие:

composer - Ошибка Script clearCache handling the symfony-scripts event terminated with an exception

Текст ошибки:

Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the symfony-scripts event terminated with an exception

Означает, что произошла ошибка при попытке очистить кэш. Текст ошибки читайте дальше.

composer - Ошибка "Could not scan for classes..." при composer update

Текст ошибки:

[RuntimeException] Could not scan for classes inside ".../vendor/symfony/symfony/src/Symfony/Component/Intl/Resources/stubs" which does not appear to be a file nor a folder

Возникает при попытке composer update.

Мой composer.json:

packagist Автообновление пакета -- как настроить (composer) с github

Предположим, что вы сдлеали релиз проекта (пакета) на гитхабе.

Если у вас в личном кабинете для пакета написано что-то вроде:

This package is not auto-updated. Please set up the GitHub Service Hook for Packagist so that it gets updated whenever you push!

то делаем для вашего репозитория что и написано:

composer Update failed (Failed to execute git log (рекурсивная загрузка из dev-master)

Update failed (Failed to execute git log

-- ошибка при попытке рекурсивной загрузки с гитхаба, да и только в случае подробного вывода:

composer --verbose update

-- если без флага, то просто грузится какой-то старый коммит.

Судя по всему уже на второму уровне вложенности композер не смотри списки перечилсенных VSC репозиториев: https://github.com/composer/composer/blo...

composer autoload files -- Как подключать файлы всегда, каждый раз при запуске скрипта (require) (например для функций)

Есть возможность подключать конкретные файлы всегда, для этого достаточно манифесте проекта написать такое:


{
    "autoload": {
        "files": ["src/MyLibrary/functions.php"]
    }
}

-- путь отсчитывает от уровня залегания файла манифеста.
Это походит, например, для вызова функций или вообще всех классов, лежащих в корневом пространстве имён.

В корневом проекте (пакете)

В корневом проекте, для того чтобы автозагрузка заработала выполните

php Использование composer для загрузки НЕ из vendor/, а из других папок проекта (автозагрузка)

Создаём/правим composer.json

Всё просто -- в секцию "autoload" файла composer.json (можно создать его в корне проекта, если в ваше проекте composer ранее не использовался) добавляем:

"autoload": {
	"psr-4": {
		"app\\": "psr4/"
	}
}

-- такой манифест предлагает загружать все файлы, пространстро имён которых начинается на app\ из папки ("начиная с") psr4 (лежащей на том же уровне, что и композер json) по страндарту psr-4.

Pages

Subscribe to RSS - composer