2017-07-07 7 views
0

これは簡単な問題のようですが、何が起きているのか説明できません。Composerは、要件と矛盾しているパッケージのバージョンをインストールしたのはなぜですか?

私のSymfonyプロジェクトでは、twigのバージョンは、2.0と指定されており、v1とv2の間の変更が破られないようにしています。しかし、Composerはとにかく最新のTwigバージョン(2.4.3)をインストールします。 composer.jsonの

php c:\php\composer\composer.phar depends -t "twig/twig" 
twig/twig v2.4.3 Twig, the flexible, fast, and secure template language for PHP 
|--symfony/framework-standard-edition dev-develop (requires twig/twig <2.0) 
|--symfony/symfony v2.8.24 (requires twig/twig ~1.34|~2.4) 
| `--symfony/framework-standard-edition dev-develop (requires symfony/symfony 2.8.*) 
`--twig/extensions v1.5.1 (requires twig/twig ~1.27|~2.0) 
    `--symfony/framework-standard-edition dev-develop (requires twig/extensions ^1.3) 

関連チャンクは:

"require": { 
    "php": ">=5.3.3", 
    "symfony/symfony": "2.8.*", 
    "doctrine/dbal": "2.5.*", 
    "doctrine/orm": "2.5.*", 
    "doctrine/doctrine-bundle": "~1.2", 
    "twig/twig": "<2.0", 
    "twig/extensions": "^1.3", 
    etc 
} 

それは可能な限り最高の1につながる、プロジェクトのものと組み合わせsymfony/symfonytwig/extensionsパッケージの要件、のように私には見えます。 xバージョンのTwig、1.34.4ですが、それは何が起こるかではありません。どうして?

EDIT:composer.json

{ 
    "name": "symfony/framework-standard-edition", 
    "license": "MIT", 
    "type": "project", 
    "description": "The \"Symfony Standard Edition\" distribution", 
    "autoload": { 
     "psr-0": { "": "src/", "SymfonyStandard": "app/" } 
    }, 
    "require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "2.8.*", 
     "doctrine/dbal": "2.5.*", 
     "doctrine/orm": "2.5.*", 
     "doctrine/doctrine-bundle": "~1.2", 
     "twig/twig": "<2.0", 
     "twig/extensions": "^1.3", 
     "symfony/assetic-bundle": "^2.8", 
     "symfony/swiftmailer-bundle": "~2.3", 
     "symfony/monolog-bundle": "~2.4", 
     "sensio/distribution-bundle": "~3.0", 
     "sensio/framework-extra-bundle": "~3.0", 
     "incenteev/composer-parameter-handler": "~2.0", 
     "beberlei/DoctrineExtensions": "^1.0", 
     "royopa/fpdf-symfony2": "^1.0", 
     "liuggio/excelbundle": "^2.0", 
     "patchwork/jsqueeze": "^2.0", 
     "leafo/scssphp": "^0.6.5", 
     "doctrine/doctrine-migrations-bundle": "^1.0", 
     "ocramius/proxy-manager": "~2.0.0", 
     "aws/aws-sdk-php-symfony": "^1.2" 
    }, 
    "require-dev": { 
     "sensio/generator-bundle": "~2.3", 
     "symfony/phpunit-bridge": "^3.1", 
     "deployer/deployer": "^3.3" 
    }, 
    "scripts": { 
     "post-root-package-install": [ 
      "SymfonyStandard\\Composer::hookRootPackageInstall" 
     ], 
     "post-install-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles" 
     ], 
     "post-update-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles" 
     ] 
    }, 
    "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.5-dev" 
     } 
    } 
} 

EDIT 2 1.4.2

作曲:

がcomposer.lockを削除し、完全に更新し、再インストールは、私は私がすべきと思ったものを私に与えます取得する!

答えて

1

使用しているコンポーザのバージョンは?

私は、freshmeat_linux/Linux] Mint 17、php 5.5と作曲家1.3.2とtwigバージョンがインストールされているjsonファイルが正しい(twig/twig - v1.34.4)であることをテストしました。

完成したcomposer.jsonファイルを貼り付けできますか?

また、composer.lockファイルとベンダーフォルダのすべての内容を削除し、再度インストールを試みることをお勧めします。

+0

見ていただきありがとうございます。 – frumious

+0

私はこのパッケージを削除しなければなりません: "ocramius/proxy-manager": "〜2.0.0"はPHP 7が必要で、自分のマシンで動作しなかったためです。 しかし、インストールは正常に動作し、インストールされた小枝パッケージは正しいままです:1.34.4(2017-07-04) – sw0rdfishhhhh

+1

もう一度おねがいします - 私は完全なリフレッシュを完了しました。 .4あまりにも!なぜそれが起こるのかわからず、特に「依存する」コマンドが直接関連する情報の変化なしに2つの異なる答えを出せるのはなぜですか?私はこれをクォークまでチョークし、移動します。乾杯! – frumious

関連する問題