Frage

Ich konnte Repositorys installieren, die keinen Komponisten haben.json-Datei wie diese:

    {
        "type": "package",
        "package": {
            "name": "yahoo/yui-compressor",
            "version": "2.0.4",
            "dist": {
                "url": "http://yui.zenfs.com/releases/yuicompressor/yuicompressor-2.4.7.zip",
                "type": "zip"
            }
        }
    },

Ich nahm den "Typ":"zip" -Teil aus den Dokumenten, aber ich konnte nicht viele andere Typen finden.Zum Beispiel muss ich jQuery installieren, aber ich weiß nicht, was ich eingeben soll ("js" hat nicht funktioniert).

    {
        "type": "package",
        "package": {
            "name": "jquery/jquery",
            "version": "1.7.2",
            "dist": {
                "url": "http://code.jquery.com/jquery-1.7.2.js",
                "type": "js"
            }
        }
    }

Irgendwelche Ideen?

BEARBEITEN:Ich füge das Ganze hinzu Lösung um @CMCDragonkai zu helfen:

    "require": {
        "vendorname/somefile": "1.2.3",
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "vendorname/somefile",
                "version": "1.2.3",
                "dist": {
                    "url": "http://example.com/somefile.txt",
                    "type": "file"
                }
            }
        }
    ]
War es hilfreich?

Lösung

Dies ist einfach ein fehlendes Merkmal.Es sollte wahrscheinlich eine neue Art von Dist geben, die nur eine einzige Klartextdatei ist, die heruntergeladen werden soll und wie - ist.Bitte füllen Sie einen Merkmalsantrag auf dem Github-Ausgabe-Tracker: https://github.com/compose/composer/issues/

edit:

Die Funktion tatsächlich existiert , wurde jedoch nicht dokumentiert. generasacodicetagpre.

Andere Tipps

Es ist eigentlich eine einfachere Möglichkeit, JQuery zu installieren, einfach: generasacodicetagpre.

es verwendet Komponenteninstallationsprogramm für Komponist und standardmäßig werden alle Vermögenswerte von der Komponente unter dem generationspflichtigen Installation installiert, kann aber anpassen.( siehe docs ).

Wie bereits beschrieben, besteht Teil eins der Lösung darin, Ihre eigenen Repositorys und die "type: ": "file" repository-Definitionsoption.Ein nachfolgendes Problem besteht jedoch darin, Composer dazu zu bringen, die Abfrage dort zu platzieren, wo Sie sie haben möchten.So wie es aussieht, scheint Composer darauf beschränkt zu sein, Abhängigkeitsquellen unter herunterzuladen vendor-dir (was ärgerlich ist, aber wahrscheinlich mit den Anforderungen zum automatischen Laden zusammenhängt).Die allgemeine Lösung für diese Einschränkung besteht darin, ein Composer-Plugin zu schreiben, das sie überwindet.Scheint ein paar Plugins zu sein, die das schaffen können.Die einfachste und leichteste Lösung, die ich gefunden habe, ist PHP Composer Vermögensverwalter, das sich der Verwaltung von Nicht-PHP / Composer- "Assets" widmet.Es gibt jedoch mindestens eine Einschränkung darin, dass Änderungen, die das Plugin vornimmt, vom Composer nicht verwaltet / erkannt werden.Noch verwendbar.

Hier ist eine vollständige composer.json so installieren Sie jQuery mit diesem Plugin:

{
  "name": "foo/bar",
  "require":
  {
    "phpclasses/assets": "*",
     "jquery/jquery": "*"
  },
  "repositories": [
    {
     "type": "composer",
     "url": "http://www.phpclasses.org/"
    },
    {
      "type": "package",
      "package": {
        "name": "jquery/jquery",
        "version": "1.7.2",
        "type": "jquery",
        "dist": {
          "url": "http://code.jquery.com/jquery-1.7.2.js",
          "type": "file"
        }
      }
    }
  ],
  "extra": {
    "assets": {
      "actions": [
        {
          "type": "copy",
          "target": "webroot/js",
          "pattern": "\\.js$"
        }
      ],
      "packages": {
        "jquery/jquery": "*"
      }
    }
  }
}

Sie können jQuery mithilfe von NPM-Dateien installieren, generasacodicetagpre.

https://www.npmjs.com/package/jquey

Verwenden npm, yarn oder WebPack anstelle von Komponisten sind sie für diese Art von Bedürfnissen viel besser geeignet.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top