2013-11-02 3 views
3

В моем проекте мне нужно использовать две версии twitter bootstrap (v2.x и v3.x) 2 для бэкэнд и 3 для интерфейса. как-то можно требовать и то и другое, и сказать композитору установить их в разных версиях directoreies?Как потребовать две версии одного и того же пакета?

что-то подобное:

{ 
     "name": "acme/hello-world", 
     "require": { 
      "twitter/bootstrap": "2.3.*", 
      "twitter/bootstrap": "3.0.* as 'twitter/bootstrap3'" 
     } 
    } 
+0

Возможно, вам необходимо обновить программное обеспечение, чтобы использовать только Bootstrap 3. Или 2. Но не оба. – Sven

ответ

0

Вы не можете требовать две версии, приложение должно использовать только одну версию пакета.

+0

как вы обрабатываете зависимости? зависимость a использует b-v1, и вам нужно использовать b-v2. но зависимость a прекращена, но полностью интегрирована в ваш php-проект. так что вместо этого вы устанавливаете b-v1 только потому, что он больше не находится в активной разработке? – Luke

1

Если вы хотите, вы можете переписать пространство имен внутри объекта загрузчика. Не точно две версии одновременно. Но, возможно, вы хотите использовать другую версию где-нибудь в своих сценариях.

$reflection = new \ReflectionClass(\Composer\Autoload\ClassLoader::class); 
$vendorDir = dirname(dirname($reflection->getFileName())); 

$loader->set('Company\\Classname\\', $vendorDir.'/composer/../Other_company/OrOtherClassname/src'); 
Смежные вопросы