我有一箇舊的symfony項目,這裏是composer.json:如何upgrad到symfony的主要版本與作曲家
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": {"": "src/"}
},
"require": {
"php": ">=5.5.9",
"symfony/symfony": "*",
"symfony/console": ">=2.2.3",
"doctrine/orm": "~2.2,>=2.2.3",
"doctrine/doctrine-bundle": "~1.2",
"twig/extensions": "~1.0",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~2.3",
"sensio/framework-extra-bundle": "~3.0",
"sensio/generator-bundle": "~2.3",
"incenteev/composer-parameter-handler": "~2.0",
"facebook/php-sdk-v4" : "4.0.*",
"symfony/finder": "^3.1",
"sonata-project/core-bundle": "^3.1",
"sonata-project/seo-bundle": "^2.0",
"sonata-project/admin-bundle": "^3.6"
},
"scripts": {
"post-install-cmd": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"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",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"config": {
"bin-dir": "bin"
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.4-dev"
}
} }
首先我會使用:PHP composer.phar自我更新 然後我用下面的命令來升級: PHP composer.phar更新 這裏是結果:
搜索一個軟件包:symfony的
找到15包配套配件克的symfony
[0]的symfony/symfony的[1] rgies/symfony的[2]的PHP-TMDB/symfony的
[3] webforge/symfony的[4] lexpress/symfony1 [5]的symfony/symfony1 [6] sabaki-dev/symfony1 [7] behat/symfony2-extension [8] escapestudios/symfony2-coding-standard [9] smarkio/symfony1 [10] languara/symfony3 [11] m6web/symfony2-coding-standard [12] irongit/Symfony2的流響應[13] polishsymfonycommunity/Symfony2的-嘲笑者延伸[14] 的symfony /控制檯輸入包#添加,或完整的包名稱,如果它不是 列出:0輸入要求的版本約束(或保留空白爲 使用最新版本):使用symfony/symfony版本^ 3.1搜索 對於一個包:./composer.json已更新正在加載作曲家 包含軟件包的存儲庫信息更新依賴項(包括 require-dev)您的需求無法解析爲可安裝的 軟件包集。
問題1個 - 結論:不安裝的symfony/symfony的v3.1.6 - 結論:不安裝的symfony/symfony的v3.1.5 - 結論:不安裝的symfony/symfony的v3.1.4 - 結論:不要安裝symfony/symfony v3.1.3 - sensio/generator-bundle的安裝請求(鎖定在v2.5.3,要求爲〜2.3) - >可通過 sensio/generator-bundle [v2.5.3]滿足。結束語:不要安裝symfony/symfony v3.1.2 - 結論:不要安裝symfony/symfony v3.1.1 - 不要安裝symfony/finder v3.1.6 |不要安裝symfony/symfony v3。 1.0 - 不要安裝symfony/symfony v3.1.0 |刪除symfony/finder v3.1.6 - 不要安裝symfony/symfony v3.1.0 |不要安裝symfony/finder v3.1.6 - symfony的安裝請求/ symfony^3.1 - > symfony/symfony [v3.1.0,v3.1.1,v3.1.2,v3.1.3,v3.1.4,v3.1.5, v3.1.6]可滿足。 - symfony/finder的安裝請求(鎖定在v3.1.6,要求爲^ 3.1) - > symfony/f inder [v3.1.6], symfony/symfony [v3.1.6]可滿足要求。
安裝失敗,將./composer.json恢復爲原來的 內容。
啓動一個新的symfony項目獲得工作composer.json然後用作曲家需要添加額外的軟件包,如Facebook的SDK。替換您的傳統作曲家。與新的JSON,重新安裝,然後開始工作你的方式,雖然你將面臨的衆多問題。除非您對Symfony有深入的瞭解,否則您可以更好地進行升級:2.2 => 2.3 => 2.7 => 2.8 => 3.1隨着您的進展清除任何棄用通知。或者將您的舊版應用程序一點一點地複製到新應用程序中。 – Cerad
謝謝,但這些對我來說很難,因爲我是新手,但我想了解更多,有沒有辦法解決我與他們面臨的所有錯誤? –
我想你可以僱人。否則,你基本上不得不學習如何用Symfony框架進行開發。 – Cerad