2016-07-31 14 views
0

Ich arbeite an einem Projekt mit Yii2 PHP-Framework. Yii2 verwendet Composer mit fxp/Composer-Asset-Plugin, um Projektabhängigkeiten zu behandeln.Yii2 mit Composer und FXP/Composer-Asset-Plugin

Das Problem ist, wenn ein neuer Entwickler für das Projekt kommt und läuft

git clone <project-repo> 
composer install 

oder ein anderer Entwickler möchte eine neue Erweiterung mit composer require <package-name> oft installieren (sehr häufig) etwas schief geht und Komponist (oder vielleicht Asset-Plugin, erwähnte ich oben) zeigt eine weitere unklare Fehlermeldung (vielleicht nur für mich). Und der Entwickler verbringt viel Zeit, um herauszufinden, was dieser Fehler bedeutet und wie er damit umgehen soll.

Heute habe ich Projekt auf Windows-Maschine geklont habe, installierte den neuesten Komponisten und Asset-Plugin Versionen warten composer install und nach ca. 20 Minuten laufen, bekam dies:

enter image description here

On Meine Linux-System gleichen Abhängigkeiten wurden ohne Fehler installiert.

Frage №1 Was bedeutet dieser Fehler und wie kann ich es beheben?

Frage №2 Ist es so schlechte Idee vendor/ Verzeichnis zur Versionskontrolle hinzufügen? (Ich habe https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md lesen)

Frage №3 Vielleicht etwas mache ich falsch, oder es ist ein Geheimnis, ich bin über nicht bewusst, dass Abhängigkeiten in Yii2 ohne solchen großen Zeitverlust zu verwalten.

Vielen Dank.

composer.json:

{ 
    "name": "yiisoft/yii2-app-basic", 
    "description": "Yii 2 Basic Project Template", 
    "keywords": ["yii2", "framework", "basic", "project template"], 
    "homepage": "http://www.yiiframework.com/", 
    "type": "project", 
    "license": "BSD-3-Clause", 
    "support": { 
     "issues": "https://github.com/yiisoft/yii2/issues?state=open", 
     "forum": "http://www.yiiframework.com/forum/", 
     "wiki": "http://www.yiiframework.com/wiki/", 
     "irc": "irc://irc.freenode.net/yii", 
     "source": "https://github.com/yiisoft/yii2" 
    }, 
    "repositories": [ 
     { 
      "type": "git", 
      "url": "https://github.com/ZeroVision/swiftmailer.git" 
     } 
    ], 
    "minimum-stability": "dev", 
    "require": { 
     "php": ">=5.4.0", 
     "giggsey/libphonenumber-for-php": "~7.0", 
     "yiisoft/yii2": "2.0.7", 
     "swiftmailer/swiftmailer": "dev-fixStreamBufferTransport", 
     "yiisoft/yii2-bootstrap": ">=2.0.3", 
     "yiisoft/yii2-swiftmailer": "*", 
     "yiisoft/yii2-authclient": "^[email protected]", 
     "2amigos/yii2-date-picker-widget": "~1.0", 
     "kartik-v/yii2-widget-timepicker": "*", 
     "kartik-v/yii2-widget-rating": "*", 
     "2amigos/yii2-gallery-widget": "~1.0", 
     "2amigos/yii2-ckeditor-widget": "~1.0", 
     "uran1980/yii2-scroll-to-top": "dev-master", 
     "yii-cms/yii2-robokassa": "^1.1", 
     "onokumus/metismenu": "v2.4.2", 
     "rmrevin/yii2-fontawesome": "*", 
     "dektrium/yii2-user": "*", 
     "p2made/yii2-sb-admin-theme": "1.1.2", 
     "p2made/yii2-p2y2-things": "*", 
     "p2made/yii2-asset-collection": "*", 
     "demi/image": "~1.0", 
     "demi/cropper": "~1.0", 
     "cyneek/yii2-widget-upload-crop": "dev-master", 
     "Nemmo/yii2-attachments": "*", 
     "2amigos/yii2-file-input-widget": "*", 
     "rkit/yii2-ajaxform-plugin": "^0.0.4", 
     "nsept/yii2-birthday-picker": "*", 
     "bryglen/yii2-apns-gcm": "1.0.4" 
    }, 
    "require-dev": { 
     "yiisoft/yii2-codeception": "*", 
     "yiisoft/yii2-debug": "*", 
     "yiisoft/yii2-gii": "*", 
     "yiisoft/yii2-faker": "*" 
    }, 
    "config": { 
     "process-timeout": 1800 
    }, 
    "scripts": { 
     "post-create-project-cmd": [ 
      "yii\\composer\\Installer::postCreateProject" 
     ] 
    }, 
    "extra": { 
     "yii\\composer\\Installer::postCreateProject": { 
      "setPermission": [ 
       { 
        "runtime": "0777", 
        "web/assets": "0777", 
        "yii": "0755" 
       } 
      ], 
      "generateCookieValidationKey": [ 
       "config/web.php" 
      ] 
     }, 
     "asset-installer-paths": { 
      "npm-asset-library": "vendor/npm", 
      "bower-asset-library": "vendor/bower" 
     } 
    } 
} 
+0

Könnten Sie hier Ihren composer.json einfügen? – Bizley

Antwort

1

Versuchen Sie, den dev-Master der Asset-Plugin

composer global require "fxp/composer-asset-plugin:dev-master" 

Es Installation gelöst auf unserer Seite eine Menge Probleme.