Автозагрузка Composer require-dev из пакета не добавлена ​​в автозагрузку проекта

Я сделал пакет composer со следующими настройками в файле composer.json:

"autoload": {
"psr-4": {
"MyVendor\\MyPackage\\": "src/"}
},
"autoload-dev": {
"psr-4": {
"Test\\Unit\\MyProject\\MyPackage\\": "test/unit"}
},

Если я запускаю composer install, применяя dev param, и получаю следующий файл «autoload_psr4.php»:

<?php

// autoload_psr4.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
'Test\\Unit\\MyVendor\\MyPackage\\' => array($baseDir . '/test/unit'),
'MyVendor\\MyPackage\\' => array($baseDir . '/src'),
);

Так что в основном все работает хорошо здесь. Затем я добавляю пакет на сервер Satis.

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

"require": {
"myvendor/mypackage": "1.0.*@dev",
"symfony/http-foundation": "2.5.*",
"symfony/http-kernel": "2.5.*"}

Еще раз, я запускаю composer install, применяя dev param, в моем проекте. Пакет устанавливается в «vendor / myvendor / mypackage folder», и я знаю, что версия DEV установлена, потому что есть папка «test» (тестовая папка исключена (исключение архива) в стабильных выпусках).

Но следующая строка отсутствует в файле «autoload_psr4.php»

'Test\\Unit\\MyVendor\\MyPackage\\' => array($baseDir . '/test/unit'),

Вот команда установки composer, которую я использовал:

composer install --dev -d /var/www/myproject

По сути, мне интересно, почему пространство имен dev моего пакета не добавляется в автозагрузчик. Может кто-нибудь объяснить?

3

Решение

autoload-dev а также require-dev оба работают только для рута (кстати, dev по умолчанию). Версии dev полезны только тогда, когда вы хотите разработать пакет. Как только вам требуется пакет в другом проекте, вы больше не хотите разрабатывать пакет, а другой проект.

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector