2013-04-30 9 views
13

ich eine lokalen Repository zu erstellen bin versucht, einen Komponisten Projekt zu testen, aberComposer create-Projekt auf dem lokalen Paket-Repository nicht

composer create-project --repository-url=/path/to/packages.json vendor/project-name 

mit

[UnexpectedValueException] 

Unknown package has no name defined [...] 

versagen Meine packages.json ist:

{ 
    "packages": { 
    "vendor/project-name": { 
     "dev-master": { 
     "name": "vendor/project-name", 
     "type": "project", 
     "version": "dev-master", 
     "source": { 
      "url": "/path/to/project/.git", 
      "type": "git" 
     } 
     } 
    } 
    } 
} 

Wie für composer's guide, das sollte genug sein.

Irgendwelche Hinweise?

Antwort

17

Führen Sie diese und mir sagen, ob es auch für Sie arbeitet:

mkdir /tmp/project-name 
cd /tmp/project-name 
git init 
vim (or whatever you like) packages.json 

Paste und sparen:

{ 
    "package": { 
     "name": "vendor/project-name", 
     "version": "1.0.0", 
     "source": { 
      "url": "/tmp/project-name/.git", 
      "type": "git", 
      "reference": "master" 
     } 
    } 
} 

Execute:

echo '{ "name": "test/test", "version": "1.0.0", "dist": { "url": "http://dummy.com/dummy.zip", "type": "zip" } }' > composer.json 

git add packages.json composer.json 
git commit -a -m "first commit" 

Und dann Ihr Paket erstellen:

composer create-project --repository-url=/tmp/project-name/packages.json vendor/project-name 
+0

Es hat so lange gedauert, das hat wunderbar funktioniert! Woher haben Sie die alternative Syntax für ein einzelnes Paket? Und, selbst wenn Sie 'packages.json' nicht einchecken, funktioniert es trotzdem und es enthält nicht die Repository-Definition im generierten Projekt (wo es nicht hingehört). – Utaal

+0

Dies funktioniert jedoch nur für ein einzelnes Paket, und ich kann es immer noch nicht mit dem im Handbuch beschriebenen Format arbeiten. – Utaal

+0

War buchstäblich durch Versuch und Irrtum. Nachdem ich das Sintax viel gegraben hatte, ging ich zurück zu deinem JSON, versuchte zu verstehen, welchen "Paketnamen" es redete und ich fing an, Dinge daraus zu löschen, um einen kleineren mit nur einem Paket zu haben. Und, glauben Sie mir, "Paket" (Einzahl) war ein Tippfehler, der mich LOL gemacht hat. Ich denke, ein Wort mit Leuten bei Composer kann dem Paketproblem etwas Licht geben, da ist da sicherlich etwas falsch. –

Verwandte Themen