2013-11-02 46 views
3

在我的项目中,我需要为后端使用两个版本的twitter引导程序(v2.x和v3.x)2,为前端使用两个版本。 是否有必要同时要求并告诉作曲家将其安装在不同的直接复制中?如何要求同一包的两个版本?

类似的东西:

{ 
     "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,只是因为a没有处于积极的发展阶段? – Luke

1

如果你想要,你可以覆盖加载器对象内的命名空间。不完全同时有两个版本。但是也许你想在脚本的某个地方使用其他版本。

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

$loader->set('Company\\Classname\\', $vendorDir.'/composer/../Other_company/OrOtherClassname/src'); 
相关问题