2016-07-23 4 views
1

Ich bin versucht, ein Paket von GitHub zu ziehen, wo wir unser privates Repository haben, aber ich möchte den „Verkäufer/Paket“ name Ordner ändern, wenn es erforderlich ist - nämlich, weil:Kann ich einen alternativen Lieferantenzielordnerpfad für ein Composer-Paket von GitHub festlegen?

  1. wir konnte nicht unsere offiziellen Firmennamen als unser GitHub Konto
  2. wie wir über Komponisten sind nicht losgeht, wir unsere Pakete mit Präfixen in einem Versuch nennen, sie zu halten

PEAR hat einen vendor-alias Schlüssel organisiert, die Git scheint nicht, aber im Wesentlichen frage ich mich, ob so etwas möglich ist:

composer.json:

"require": { 
    "timeslice/common": "~1.0" 
}, 
"repositories": [ 
    { 
     "type": "vcs", 
     "url": "[email protected]:timeslicelive/kiosk-common.git", 
     "vendor-alias": "timeslice/common" 
    } 
] 

Pfad installieren:

/vendor/timeslice/common/ 
+0

Ich bin auch an einer Antwort auf diese Frage interessiert.In meinem Anwendungsfall habe ich einen GitHub-Repo auf unser Firmen-Repo abgezweigt, und der Repo-Pfad des Unternehmens folgt nicht der "Vendor/Project" -Konvention, also habe ich versucht, sie mit 'Vendor-Alias' zu überschreiben, aber das scheint nicht so zu sein Arbeit. – dolmen

+0

Noch keine Antworten, aber ich frage mich, ob Toran Proxy eine Lösung sein könnte: https://toranproxy.com/ –

Antwort

0

ich das gleiche Problem mit einem Paket hatte bis unterstützt 5,2 bis Laravel und ich habe Laravel 5.3.

Natürlich Komponist wirft einen Abhängigkeitsfehler:

Problem 1 
    - Conclusion: don't install laravel/framework v5.3.19 
... 
    - pqb/filemanager-laravel 2.0.7 requires illuminate/support 5.0.*|5.1.*|5.2.* 

Der Paketautor haben nicht aktualisiert 5.3 und die Github Problem Nachricht über das Update für etwa einen Monat war Laravel unresponded. Ich finde eine Github-Gabel, die aktualisiert wurde, um Laravel 5.3 zu unterstützen, also musste ich Composer den ursprünglichen Paketnamen verwenden lassen, aber die gespaltene aktualisierte Version der Quellen installieren.

Die oudated Repo ist: https://github.com/guillermomartinez/filemanager-laravel

Die aktualisierte Repo ist: https://github.com/LuaxY/filemanager-laravel

Das Paket bei https://packagist.org ist: https://packagist.org/packages/pqb/filemanager-laravel

Also, ich ein Paket in pqb/filemanager-laravel mit der Quelle für die haben wollte aktualisiert LuaxY/filemanager-laravel Github Repo.

Der package Typ definiert in repositories (composer.json) für mich gearbeitet:

Hinweis: um automatisch zu laden das Paket, müssen Sie das automatische Ladeverzeichnis des Pakets angeben. Es kann src, dist oder noch etwas anderes sein. Sie sollten immer die Repo-Verzeichnisstruktur überprüfen.

"repositories": [ 
    { 
     "type": "package", 
     "package": { 
      "name": "pqb/filemanager-laravel", 
      "version": "2.0.7", 
      "dist": { 
       "url": "https://github.com/LuaxY/filemanager-laravel/archive/5.3.zip", 
       "type": "zip" 
      }, 
      "source": { 
       "url": "https://github.com/LuaxY/filemanager-laravel.git", 
       "type": "git", 
       "reference": "pqb/filemanager-laravel" 
      }, 
      "autoload": { 
       "classmap": ["src"] 
      } 
     } 
    } 
] 

und im Abschnitt benötigen wir das ursprüngliche Paket enthalten:

"require" : { 
    "pqb/filemanager-laravel": "^2.0.7" 
} 

Dann habe ich einen composer update und ich habe das aus dem GitHub Repo ohne Abhängigkeitsfehler installiertes Paket:

enter image description here

+0

Das ist super-interessant. Ich bin mir nicht sicher, wann ich es überprüfen kann, da ich gerade an einem neuen Projekt arbeite, aber ich werde es tun, hoffentlich eher früher als später! –

Verwandte Themen