Domanda

Sono stato in grado di installare i repository che non hanno un file compositore.json come questo:

    {
        "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"
            }
        }
    },
.

Ho preso il "tipo": parte "zip" dai documenti, ma non riuscivo a trovare molti altri tipi.Ad esempio, ho bisogno di installare JQuery, ma non so cosa inserire il tipo ("JS" non funzionava).

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

Qualche idea?

Modifica : sto aggiungendo la soluzione completa per aiutare @cmcdragonkai:

    "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"
                }
            }
        }
    ]
.

È stato utile?

Soluzione

Questa è semplicemente una caratteristica mancante.Dovrebbe probabilmente ci dovrebbe essere un nuovo tipo di Dist che è solo un singolo file di testo in chiaro da scaricare e lasciato il più possibile.Archiviare una richiesta di funzionalità sul GitHub Issue Tracker: https://github.com/composer/composer/issues/

Modifica:

La funzione esiste effettivamente ma non è stato documentato.

"type": "file"
.

Altri suggerimenti

In realtà c'è un modo più semplice per installare JQuery, solo digitare:

{
    "require": {
        "components/jquery": "1.9.*"
    }
}
.

Utilizza Installer component per il compositore e per impostazione predefinita Tutte le risorse dal componente sono installate in components, ma può essere personalizzato.( Vedi Docs ).

Come delineato già, parte di una delle soluzioni è definizione dei propri repository e dell'opzione Definizione della definizione del repository "type: ": "file". Ma un problema successivo è il compositore per mettere la jQuery dove lo vuoi. Mentre si trova, il compositore sembra essere limitato al download di fonte di dipendenza sotto vendor-dir (che è fastidioso ma probabilmente correlato ai requisiti di autoloading). La soluzione generale a questa limitazione è scrivere un plugin compositore che lo supera. Sembra essere alcuni plugin che possono gestire questo. La soluzione più semplice più leggera che ho trovato è PHP Compositore Asset Manager , che è dedicato alla gestione della gestione non php / compositore". Tuttavia, ha almeno una limitazione in quanto cambiamenti che i plugin facili non sono gestiti / rilevati dal compositore. Ancora utilizzabile.

Ecco un composer.json completo per installare JQuery utilizzando quel plug-in:

{
  "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": "*"
      }
    }
  }
}
.

È possibile installare JQuery utilizzando NPM come così,

npm install jquery
.

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

Utilizzare npm, yarn o WebPack invece del compositore Sono molto meglio per questo tipo di esigenze.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top