2016-03-20 15 views
0

Ich muss eine private yii2 Erweiterung auf BitBucket erstellen, und installieren Sie es in meinen Projekten mit Komponist.Extension von privaten Repo mit Komponist

Die SSH ist richtig eingerichtet, soweit ich das verstehe, war es zunächst nicht - und ich habe einen Fehler "Repo nicht gefunden oder Sie haben keine Erlaubnis" (oder etwas von der Art).

Der Komponist findet die composer.json, ich habe es zum Testen entfernt und eine Fehlermeldung erhalten, dass "valid composer.json not found" nicht gefunden wurde.

Jetzt, als ich composer update in meinem Git Bash laufen druckt es nur „Nichts zu installieren oder aktualisieren“ und nichts erscheint in meinem vendor/ Ordner.

Ich habe keine Fehler, hier weiterzumachen, Ideen sind meistens willkommen!


Ich habe den Repo- und hinzugefügt, um die folgenden Dateien ein:

composer.json

{ 
    "name": "ext. name", 
    "type": "yii2-extension", 

    "description": "My desc", 

    "authors": [ 
     { 
      "name": "Jorgen", 
      "email": "[email protected]", 
      "homepage": "http://www.domain.com" 
     } 
    ], 

    "minimum-stability": "stable", 
    "support": { 
     "source": "bitbucket.org/companyname/yii2-extensionname" 
    }, 

    "require": { 
     "php": ">=5.4.0", 
     "yiisoft/yii2": "2.0.*" 
    }, 

    "autoload": { 
     "psr-4": { 
      "companyname\\extensionname\\": "" 
     } 
    } 
} 

.gitignore

vendor/** 

models/Prüfung. php

<?php 

namespace companyname\extensionname\models; 


class Test 
{ 

} 

Und ich habe folgendes mein Yii2 Projekt composer.json hinzugefügt:

"repositories": [ 
    { 
     "type": "vcs", 
     "url": "ssh://[email protected]/companyname/yii2-extensionname", 
    } 
], 

aktualisieren

So habe ich herausgefunden, dass, wenn ich füge meinen Repo in diesem Format hinzu, das gefunden und heruntergeladen wurde, aber die Datei autoloader-psr4.php wird nicht aktualisiert mit meinem Autoloading.

"repositories": [ 
{ 
    "type": "package", 
    "package": { 
     "name": "vendor/yii2-extension-name", 
     "version": "master", 
     "source": { 
      "type": "git", 
      "url": "[email protected]:vendor/yii2-extension-name", 
      "reference": "origin/master" 
     } 
    } 
} 

Als ich

"repositories": [ 
    { 
     "type": "git", 
     "url": "https://bitbucket.org/vendor/yii2-extension-name" 
    } 
], 

haben bekomme ich folgende Fehlermeldung:

Problem 1 - The requested package vendor/yii2-extension-name could not be found in any version, there may be a typo in the package name.

Potential causes: - A typo in the package name - The package is not available in a stable-enough version according to your minimum-stability setting see https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion for more details.

Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.

Es gibt keine Fehler, seine gefunden und heruntergeladen, wenn ich "package" verwenden. Aber dann wird der Autoloader nicht aktualisiert. Ich habe auch alle möglichen Variationen mit git @, https und ssh ausprobiert. Es funktioniert immer als Paket, niemals als git oder vcs.

Bearbeiten: oh, und minimale Stabilität ist auf dev während der Fehlersuche eingestellt.

Antwort

0

Sie müssen den richtigen Namen verwenden:

{ 
    "name": "vendor/yii2-extension-name", 
    "type": "yii2-extension", 

die in der Regel mit dem Namen Ihres Repository gefolgt Ihr Bitbucket Benutzername ist.

Das wird mit Ihren Repositorys Composer Einstellung arbeiten:

"repositories": [ 
    { 
     "type": "git", 
     "url": "https://bitbucket.org/vendor/yii2-extension-name" 
    } 
], 
+0

Oh, ich habe - ich entfernt es nur um dieses Postens –

+1

Wow, du bist absolut richtig - ich hatte einen kleinen Schreibfehler in die '' name''-Einstellung. Danke Mann, ich habe es nicht bemerkt - und ich wusste auch nicht, dass das wichtig war. –

+0

Komponist ist sehr knifflig - froh, dass Sie es sortiert haben :) – jacmoe

Verwandte Themen