2013-07-03 3 views
6

Ich habe gerade eine einfache Arbeit in Laravel 4 abgeschlossen und ich bin bereit, auf meinem Server zu implementieren.Laravel: Deploy und Anbieter Ordner

Ich fand, dass der Herstellerordner eine Größe von 100 MB hat und ich frage mich, ob es notwendig ist, alle seine Unterordner hochzuladen. Ich nehme an, dass ich nicht die meisten dieser Bibliotheken verwende. Gibt es eine gute Vorgehensweise, um ein Laravel-Projekt zu implementieren?

Antwort

3

Sie sollten den Herstellerordner nicht hochladen. Sie sollten composer install/update auf Ihrem Server ausführen, auf dem Sie die Bereitstellung durchführen. Sie sollten nur Ihre Anwendungsdateien bereitstellen.

+2

Ich habe keinen SSH-Zugriff auf diesem Server. Ich habe nur einen FTP-Zugang – MatterGoal

+0

Und wenn es ein Shared Host (wie viele Leute haben) ohne SSH? – Frug

+0

@Frug: das klingt schrecklich :) Ich denke, Sie haben Pech und müssen Ihren Lieferantenordner bereitstellen. Meiner Meinung nach sind die Nachteile von Shared Hosting enorm. Sie verpassen die Macht des Komponisten, Git und Handwerker (wenn es eine L4-App ist). –

4

Ich habe bis zu diesem Punkt keine L4-App selbst implementiert, werde aber Probleme bekommen, da ich keinen Git/Composer-Zugriff auf meinem Host-Server habe. Wenn nichts schlaues kommt, ist FTP/SSH meine einzige Möglichkeit, meine Dateien auf den Server zu bekommen.

Der Ordner /vendors ist unbedingt erforderlich, damit Ihre Anwendung funktioniert. Denken Sie an die Anbieter als /core Ordner in anderen Frameworks. All das schwere Heben in Laravel wird durch die Pakete, die in /vendors enthalten sind, gehandhabt, und ohne diesen Ordner stürzt Ihre App einfach ab.

8

Sie besser nutzen

composer create-project laravel/laravel --prefer-dist <project directory> 

Ihr Projekt zu erstellen. Die Verwendung Ihres Vendor-Dir-Space beginnt erst bei 10 MB. (Ich habe es gerade hier gemacht und das ist was für mich heruntergeladen).

Und wie man sieht kann auch:

composer update --no-dev --prefer-dist 

Ihre aktuelle Projekt Raumnutzung zu reduzieren.

Aber ... Lieferantenverzeichnis und alle Unterverzeichnisse auf der ersten Ebene sind obligatorisch (solange Sie alle installierten Pakete verwenden), aber es gibt einige Unterverzeichnisse in ihnen, die Sie bei der Bereitstellung leicht ignorieren können, wie zum Beispiel:

*/examples/* 
*/docs/* 
*/docs2/* (Doctrine) 
*/tests/* 
*/test/* 
*/Tests/* (Carbon) 
*/swiftmailer/swiftmailer/notes/*