2014-03-18 74 views
0

我嘗試了Symfony,但我遇到了一些問題後,我決定我不想測試遷移。Symfony 2.4.2作曲家遷移包

從我學習的文檔我必須添加到作曲家JSON。

"doctrine/doctrine-migrations-bundle": "dev-master", 

因此,這是我現在有:

"require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "~2.4", 
     "doctrine/orm": "~2.2,>=2.2.3", 
     "doctrine/doctrine-bundle": "~1.2", 
     "doctrine/doctrine-migrations-bundle": "dev-master", 
     "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" 
    }, 

但是,這是行不通的。它找不到合適的版本。

這是錯誤:

問題1個 - 教義/教義的遷移束DEV-主安裝請求 - >由學說/教義的遷移束[DEV-主]可滿足的。 - doctrine/doctrine-migrations-bundle dev-master需要doctrine/migrations * - >找不到匹配的軟件包。

可能的原因: - 包名稱 一個錯字 - 程序包根據您的最低穩定性設置 看到https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion更多細節,不提供穩定,充足的版本。

之後,大量的谷歌搜索(https://github.com/doctrine/DoctrineMigrationsBundle/issues/54),並試圖設置「教條/學說束」的版本:「〜1.2」,要求aplha版本。這確實繼續安裝,但引入了一個新問題。

new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(), 

我嘗試在終端運行這個命令::PHP應用程序/控制檯學說:遷移:狀態

但它給

加入這行來應用內核到$束陣列後我出現以下錯誤:

致命錯誤:在/ Applications/MAMP/htdocs/symfony/vendor/doctrine/doctrine-migrations-bundle /中找不到類'Doctrine \ DBAL \ Migrations \ Tools \ Console \ Command \學說/包/ MigrationsBundle /命令/ MigrationsLatestDoctrine第30行的Command.php

現在我真的不知道我在想什麼。我不知道如何得到這個工作。我希望有人能給我一個正確的方向!謝謝!

回答

4

如果您想安裝doctrine/doctrine-migrations-bundle,您還需要安裝doctrine/migrations。根據你的composer.json的複製/粘貼,你忘了添加它。

嘗試用以下:

"require": { 
    "php": ">=5.3.3", 
    "symfony/symfony": "~2.4", 
    "doctrine/orm": "~2.2,>=2.2.3", 
    "doctrine/doctrine-bundle": "~1.2", 
    "doctrine/migrations" : "dev-master", 
    "doctrine/doctrine-migrations-bundle" : "dev-master", 
    "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" 
}, 

您收到此錯誤:

Fatal error: Class 'Doctrine\DBAL\Migrations\Tools\Console\Command\LatestCommand' not found in /Applications/MAMP/htdocs/symfony/vendor/doctrine/doctrine-migrations-bundle/Doctrine/Bundle/MigrationsBundle/Command/MigrationsLatestDoctrineCommand.php on line 30 

因爲doctrine/migrations尚未下載和幾類缺少該doctrine/doctrine-migrations-bundle

+0

我完全錯過了什麼嗎?第6行是別的嗎? :) –

+0

@DionSnoeijen,第6行確實與第7行不同。它是所有組件正確工作所需的組件。你也可以只安裝'doctrine/migrations'並使用它自己的組件,但我認爲這不是你想要在這裏實現的;) – Ianlet

+0

哦!這對我來說太愚蠢了。我完全錯過了!謝啦! –