Pergunta

Eu tenho sido capaz de instalar os repositórios que não têm um compositor.json arquivo como este:

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

Eu tirei o "tipo":"zip" parte do docs, mas eu não conseguia encontrar muitos outros tipos.Por exemplo, eu preciso instalar o jQuery, mas eu não sei o que colocar na escreva ("js" não funciona).

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

Qualquer idéias?

EDITAR:Estou adicionando o total solução para ajuda @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"
                }
            }
        }
    ]
Foi útil?

Solução

Este é simplesmente um recurso ausente.Lá, provavelmente, deve ser um novo tipo de dist que é apenas um único arquivo de texto sem formatação para ser baixado e deixada como está.Por favor, arquivo de um pedido de recurso no github issue tracker: https://github.com/composer/composer/issues/

EDITAR :

O recurso de realmente existe mas não foi documentado.

"type": "file"

Outras dicas

Na verdade, há uma maneira mais fácil de instalar o jQuery, basta digitar:

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

Ele usa Componente de instalação para o Compositor e, por padrão, todos os ativos do Componente são instalados em components, mas pode ser personalizar.(ver docs).

Como já sublinhado, a primeira parte da solução é definir a você próprio repositórios e o "type: ": "file" definição de repositório opção.Mas uma edição posterior está ficando compositor para colocar o JQuery onde você quiser.Como está, o compositor parece ser limitado para download de dependência fonte sob vendor-dir (o que é chato, mas, provavelmente, relacionado com o carregamento automático de requisitos).Geral correcção para esta limitação é escrever um compositor plugin que supera-o.Parece ser alguns plugins que podem gerenciar isso.A forma mais simples e mais leve solução que eu encontrei é PHP Compositor Gestor de Ativos, que é dedicado para a gestão de PHP/Compositor de "bens".Porém, ele tem pelo menos uma limitação que as alterações que o plugin faz não são gerenciados/detectadas pelo compositor.Ainda utilizável.

Aqui está um completo composer.json para instalar o JQuery usando o 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": "*"
      }
    }
  }
}

você pode instalar o jquery usando a ngp como assim,

npm install jquery

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

Utilização npm, yarn ou WebPack em vez de Compositor eles são a maneira melhor para que tipo de necessidades.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top