2017-08-28 2 views
1

J'utilise un projet Laravel comme un plugin local de Moodle, en utilisant le paquet composer/installer. La mise en page du projet est:Composer se bloque sur "Résoudre les dépendances sur SAT" entre Moodle et Laravel utilisé comme un plugin local

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

Le composer.json de l'application 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" 
     } 
    ] 
} 

de composer.json du plugin locale Laravel

{ 
    "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 
    } 
} 

Quand je essayez d'installer le plugin Laravel en utilisant php.phar -vvv update.phar, je m'attends à "Résoudre les dépendances par SAM".

J'ai trouvé un similar question qui a le problème en traitant uniquement avec Laravel 4.2 de manière isolée. Je n'ai pas été à travers tout dans la liste et mettra à jour quand j'ai.

Ma question est la suivante: est-il normal que «Résoudre les dépendances via SAT» soit suspendu lors de la combinaison de grands projets compositeurs comme Laravel et Moodle? Y a-t-il des mesures immédiates que je peux prendre pour réduire la complexité du problème?

Répondre

1

essayer ces étapes peut-être vous obtiendrez une sortie plus raisonnable, est probablement un conflit de version du paquet (par exemple. L'un des packages verrouillés sur la version qui ne satisfait pas autre paquet)

essayer no-dev première option

composer update --no-dev -vvv 

package de mise à jour essayer paquet

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

essayez de supprimer le dossier du fournisseur et composer.lock

enfin vérifier composer.json de chaque paquet et de comparer les exigences de recherche de versions qui excluent eux-mêmes de travailler ensemble

+1

J'ai résolu ce problème en supprimant certaines des dépendances de développement qui n'étaient pas nécessaires – jsindos