2016-11-29 27 views
0

我分叉laravel/framework并希望使用克隆的testing-encoding分支:如何使用反向依赖项进行分支?

{ 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "https://github.com/x-yuri/framework" 
     } 
    ], 
    "require": { 
     "laravel/framework": "dev-testing-encoding" 
    } 
} 

但是当我做composer require modelizer/selenium,它说:

Using version ^1.1 for modelizer/selenium 
./composer.json has been updated 
Loading composer repositories with package information 
Updating dependencies (including require-dev)     
Your requirements could not be resolved to an installable set of packages. 

    Problem 1 
    - laravel/framework 5.4.x-dev requires symfony/console 3.2.* -> satisfiable by symfony/console[3.2.x-dev, v3.2.0-BETA1, v3.2.0-RC1, v3.2.0-RC2] but these conflict with your requirements or minimum-stability. 
    - laravel/framework 5.4.x-dev requires symfony/console 3.2.* -> satisfiable by symfony/console[3.2.x-dev, v3.2.0-BE 
TA1, v3.2.0-RC1, v3.2.0-RC2] but these conflict with your requirements or minimum-stability. 
    - Installation request for modelizer/selenium ^1.1 -> satisfiable by modelizer/selenium[v1.1.0]. 
    - Conclusion: remove laravel/framework dev-testing-encoding 
    - Conclusion: don't install laravel/framework dev-testing-encoding 
    - modelizer/selenium v1.1.0 requires laravel/framework ^5.1 -> satisfiable by laravel/framework[5.4.x-dev, 5.1.x-de 
v, 5.2.x-dev, 5.3.x-dev]. 
    - Can only install one of: laravel/framework[5.1.x-dev, dev-testing-encoding]. 
    - Can only install one of: laravel/framework[5.2.x-dev, dev-testing-encoding]. 
    - Can only install one of: laravel/framework[5.3.x-dev, dev-testing-encoding]. 
    - Can only install one of: laravel/framework[dev-testing-encoding, 5.1.x-dev]. 
    - Can only install one of: laravel/framework[dev-testing-encoding, 5.2.x-dev]. 
    - Can only install one of: laravel/framework[dev-testing-encoding, 5.3.x-dev]. 
    - Installation request for laravel/framework dev-testing-encoding -> satisfiable by laravel/framework[dev-testing-e 
ncoding]. 


Installation failed, reverting ./composer.json to its original content. 

我试着用minimum-stability试验和稳定性的标志。无济于事。我能想出的最好的是叉modelizer/selenium为好,并进行硬编码有laravel的分支,我需要:

diff --git a/composer.json b/composer.json 
index 9036e47..65facf0 100644 
--- a/composer.json 
+++ b/composer.json 
@@ -12,8 +12,14 @@ 
      "email": "[email protected]" 
     } 
    ], 
+ "repositories": [ 
+  { 
+   "type": "vcs", 
+   "url": "https://github.com/x-yuri/framework" 
+  } 
+ ], 
    "require": { 
-  "laravel/framework": "^5.1", 
+  "laravel/framework": "dev-testing-encoding", 
     "symfony/process": ">=2.7", 
     "phpunit/phpunit-selenium": ">=1.2", 
     "guzzlehttp/guzzle": "^6.2" 

添加回购根composer.json

{ 
    "type": "vcs", 
    "url": "https://github.com/x-yuri/Selenium" 
} 

然后执行:composer require modelizer/selenium=dev-laravel-testing-encoding。这也意味着,我也必须分叉laravel/socialite,尽管它不直接需要laravel/framework。它可以比这更简单吗?

回答

1

GitHub上的家伙helped我与这一个。正如您可以see,modelizer/selenium要求laravel/framework=^5.1。我们想要laravel/framework=dev-testing-encodingcomposer不知道如何将这两个版本进行比较,除非我们告诉它:

"require": { 
    "laravel/framework": "dev-testing-encoding as 5.1.0" 
} 

这样,我们传达给composerdev-testing-encoding可以为5.1.0版本进行处理。换句话说,我们别名dev-testing-encoding5.1.0。因此,它满足modelizer/selenium的依赖关系,并要求包成功。

相关问题