2016-09-20 2 views
0

Я должен сохранить 0,18 of sylius/syliusКак переопределить sylius 0.18 в композиторе с моим собственным хранилищем VCS?

У меня была вилка мастера и создание новой ветви 0.18, слились внутри какого-то пиара.

Теперь я хочу использовать этот репозиторий вместо sylius/sylius v0.18 тег

здесь моего composer.json

{ 
"name":  "sylius/sylius-standard", 
"description": "Starting point for projects powered by Sylius eCommerce.", 
"keywords": ["symfony", "symfony2", "sylius", "distribution", "ecommerce", "cart", "shopping"], 
"type":  "project", 
"license":  "MIT", 
"homepage": "http://sylius.org", 
"authors": [ 
    { 
     "name":  "Paweł Jędrzejewski", 
     "homepage": "http://pjedrzejewski.com" 
    }, 
    { 
     "name":  "Sylius project", 
     "homepage": "http://sylius.org" 
    }, 
    { 
     "name":  "Community contributions", 
     "homepage": "http://github.com/Sylius/Sylius/contributors" 
    } 
], 
"repositories": [ 
    { 
     "type": "vcs", 
     "url": "https://github.com/ibasaw/DoctrineBehaviors" 
    }, 
    { 
     "type": "vcs", 
     "url": "https://github.com/ibasaw/sylius" 
    } 
], 
"require": { 
    "php": ">=5.6", 

    "sylius/sylius": "^[email protected]", 
    ...... 
}, 
"require-dev": { 
    "behat/behat": "^3.0", 
    "behat/symfony2-extension": "^2.0", 
    "behat/mink-extension": "^2.0", 
    "behat/mink-browserkit-driver": "^1.2", 
    "behat/mink-selenium2-driver": "^1.2", 
    "behat/mink": "^1.6", 
    "coduo/php-matcher": "^[email protected]", 
    "phpspec/phpspec": "^2.4", 
    "phpunit/phpunit": "^4.1", 
    "lakion/api-test-case": "^[email protected]" 
}, 
"minimum-stability": "dev", 
"prefer-stable": true, 
"scripts": { 
    "post-install-cmd": [ 
     "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
     "Symfony\\Cmf\\Bundle\\CreateBundle\\Composer\\ScriptHandler::downloadCreateAndCkeditor", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
    ], 
    "post-update-cmd": [ 
     "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
     "Symfony\\Cmf\\Bundle\\CreateBundle\\Composer\\ScriptHandler::downloadCreateAndCkeditor", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
    ] 
}, 
"autoload": { 
    "psr-0": { 
     "": "src/", 
     "Context": "features/" 
    } 
}, 
"config": { 
    "bin-dir": "bin" 
}, 
"extra": { 
    "branch-alias": { 
     "dev-master": "0.18" 
    }, 
    "symfony-app-dir": "app", 
    "symfony-web-dir": "web", 
    "incenteev-parameters": { 
     "file": "app/config/parameters.yml" 
    } 
} 

}

, когда я делаю обновление композитора, в поставщике в каталоге требуется sylius/sylius, а не ibasaw/sylius

Почему?

Как заставить использовать VCS с моей новой веткой 0,18?

+0

Я заменил «branch-alias»: {"dev-master": "0.18"} на "branch-alias": {"dev-master": "0.18-dev"} Это кажется, берут хороший репозиторий. Но теперь у меня возникла эта проблема: Fatal error: Class 'Sylius \ Bundle \ CoreBundle \ Kernel \ Kernel' не найден в /var/www/sources/xxx/app/AppKernel.php в строке 9 – ibasaw

+1

В основном, потому что 'Sylius \ Bundle \ CoreBundle \ Kernel \ Kernel' был заменен на 'Sylius \ Bundle \ CoreBundle \ Application \ Kernel' между v0.18 и v0.19. Вы можете проверить его [здесь] (https://github.com/Sylius/Sylius/blob/v0.19.0/app/AppKernel.php#L12) – lchrusciel

ответ

0
  1. дает вилку в собственном имя пакета (имя поле в composer.json)
  2. использовать https://getcomposer.org/doc/04-schema.md#replace заменить, чтобы объявить пакет заменяющего исходного пакет
  3. требует вашего пакета в корневой composer.json
0

Добавить раздвоенный хранилище Sylius, как это в вашем composer.json

"repositories": [ 
{ 
    "type": "git", 
    "url": "https://github.com/ylastapis/Sylius.git" 
}], 

Вы можете либо потребовать мастер-ветвь или создать пользовательскую ветвь (для слияния коды в ожидании, что команда Sylius принимает ваше слияние, мой называются мастер-POC)

В разделе требует, требует ВАШЕГО ветвь, с приставкой "dev-". поэтому мастер стал DEV-мастером, таким образом, моя ветвь мастер-POC теперь DEV-мастер-POC

"require": { 
    "sylius/sylius": "dev-master-poc" 
    }, 

Я также получил филиальную псевдоним, не могу вспомнить, если это все-таки ПОЛЕЗНЫЕ

"extra": { 
    "branch-alias": { 
     "dev-master": "1.0-dev" 
    } 
    } 

Некоторые ссылка на документ: https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository

+0

он переопределяет, но получил ошибку Fatal error: Class 'Sylius \ Bundle \ CoreBundle \ Kernel \ Kernel 'не найден в /var/www/sources/xxx/app/AppKernel.php в строке 9 – ibasaw