2017-08-28 3 views
1

composer/installerパッケージを使用してLaravelプロジェクトをMoodleのローカルプラグインとして使用しています。プロジェクトのレイアウトは次のとおりです。ローカルプラグインとして使用されているMoodleとLaravelの間で "SAT依存関係を解決する"の上に作者がハングアップする

// Moodle Application 
- composer.json 
- local/ 
    - laravel-plugin/ <- here is the Laravel local plugin 
    - composer.json <- composer.json of Laravel plugin 

のMoodleアプリケーション

{ 
    "name": "moodle/moodle", 
    "license": "GPL-3.0", 
    "description": "Moodle - the world's open source learning platform", 
    "type": "project", 
    "homepage": "https://moodle.org", 
    "require": { 
     "composer/installers": "~1.0", 
     "Pursuittech/sam": "dev-master" <- here is the Laravel local plugin 
    }, 
    "require-dev": { 
     "phpunit/phpunit": "5.5.*", 
     "phpunit/dbUnit": "1.4.*", 
     "moodlehq/behat-extension": "3.33.1", 
     "mikey179/vfsStream": "^1.6" 
    }, 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "[email protected]:Pursuittech/sam.git" 
     } 
    ] 
} 

Laravelローカルプラグインのcomposer.json

{ 
    "name": "Pursuittech/sam", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "moodle-local", 
    "require": { 
     "php": ">=5.6.4", 
     "laravel/framework": "5.4.*", 
     "laravel/tinker": "~1.0", 
     "composer/installers": "~1.0" 
    }, 
    "require-dev": { 
     "fzaninotto/faker": "~1.4", 
     "mockery/mockery": "0.9.*", 
     "phpunit/phpunit": "~5.7" 
    }, 
    "autoload": { 
     "classmap": [ 
      "database/seeds", 
      "database/factories" 
     ], 
     "psr-4": { 
      "Api\\": "api/", 
      "App\\": "app/" 
     } 
    }, 
    "autoload-dev": { 
     "psr-4": { 
      "Tests\\": "tests/" 
     } 
    }, 
    "scripts": { 
     "post-root-package-install": [ 
      "php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 
     ], 
     "post-create-project-cmd": [ 
      "php artisan key:generate" 
     ], 
     "post-install-cmd": [ 
      "Illuminate\\Foundation\\ComposerScripts::postInstall", 
      "php artisan optimize" 
     ], 
     "post-update-cmd": [ 
      "Illuminate\\Foundation\\ComposerScripts::postUpdate", 
      "php artisan optimize" 
     ] 
    }, 
    "config": { 
     "preferred-install": "dist", 
     "sort-packages": true, 
     "optimize-autoloader": true 
    } 
} 

Iのcomposer.json php composer.phar -vvv updateを使用してLaravelプラグインをインストールしようとすると、「依存関係の解決SAT "と呼ばれる。

私はsimilar questionを見つけましたが、これはLaravel 4.2を単独で扱っているときに問題があります。私はリストのすべてを通過していないし、私が持っているときに更新されます。

私の質問は、LaravelやMoodleのような大規模な作曲家プロジェクトを結合するときに「SATによる依存関係の解決」がハングするのは正常ですか?問題の複雑さを減らすために私が取ることができる即刻の措置はありますか?

答えて

1

多分あなたはより合理的な出力、そのおそらく競合パッケージのバージョン(例えば、他のパッケージを満たしていないバージョンにロックされたパッケージのいずれか)を取得するこれらの手順を試してみてください

はノー-devのオプション最初

を試してみてください
composer update --no-dev -vvv 

パッケージ

composer update some/package --no-dev -vvv 

試し更新パッケージには、ベンダーのフォルダを削除すると

をcomposer.lockしよう

最終的には、各パッケージのcomposer.jsonを確認し、協力して除外するバージョンの要件検索を比較してください。

+1

必要でなかった開発依存性 – jsindos

関連する問題