Pergunta

Eu quero usar o SilverStripe módulo "sheadawson/silverstripe-blocos dev-mestre".Quando eu instalar ele com o compositor, eu era obrigada a instalar alguns módulos, como o multivaluefield e tão forte.Eu instalei sem problemas.Agora eu recebo a seguinte saída no terminal:

Pascal@Nemesis:~/Sites/xyz$ composer require sheadawson/silverstripe-blocks dev-master
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for silverstripe/cms 1.0.0 -> satisfiable by silverstripe/cms[1.0.0].
- sheadawson/silverstripe-blocks dev-master requires silverstripe/cms 3.1.* -> satisfiable by silverstripe/cms[3.1.0, 3.1.1, 3.1.2].
- Can only install one of: silverstripe/cms[3.1.0, 1.0.0].
- Can only install one of: silverstripe/cms[3.1.1, 1.0.0].
- Can only install one of: silverstripe/cms[3.1.2, 1.0.0].
- Installation request for sheadawson/silverstripe-blocks dev-master -> satisfiable by sheadawson/silverstripe-blocks[dev-master].

Eu posso ver, que o 3.1.* a dependência leva para 3 versões possíveis.Mas a versão 1.0.0 do cms enreda-me um pouco, já que eu não tenho onde uma dependência para esta versão.

Quando eu quero instalar a versão 3.1.2 com

composer require silverstripe/cms 3.1.2

eu recebo a seguinte saída:

Pascal@Nemesis:~/Sites/xyz$ composer require silverstripe/cms 3.1.2
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for silverstripe/cms 1.0.0 -> satisfiable by silverstripe/cms[1.0.0].
- Can only install one of: silverstripe/cms[3.1.2, 1.0.0].
- Installation request for silverstripe/cms 3.1.2 -> satisfiable by silverstripe/cms[3.1.2].

O conteúdo do meu compositor.json arquivo se parece com isso:

{
    "name": "silverstripe/cms",
    "type": "silverstripe-module",
    "description": "The SilverStripe Content Management System",
    "homepage": "http://silverstripe.org",
    "license": "BSD-3-Clause",
    "keywords": ["silverstripe", "cms"],
    "authors": [
        {
            "name": "SilverStripe",
            "homepage": "http://silverstripe.com"
        },
        {
            "name": "The SilverStripe Community",
            "homepage": "http://silverstripe.org"
        }
    ],
    "require": {
        "php": ">=5.3.2",
        "ajshort/silverstripe-gridfieldextensions": "dev-master",
        "silverstripe/multivaluefield": "dev-master"
    }
}

Alguém sabe por que o compositor quer instalar a versão 1.0.0 do cms bem?Eu tentei já a remoção de todos os módulos, a limpeza do compositor.json, removendo o compositor.bloqueio, compositor de atualização e de tudo o que veio à minha mente.

Foi útil?

Solução

Que compositor.json do seu parecer que é o ficheiro a partir do CMS, não a partir de seu próprio software.

E, se for o caso, não me surpreende que o Compositor está confuso.Em que o compositor.json você afirmar que "silverstripe/cms" é o SEU software.E se você marcados software, versão 1.0.0, criou "silverstripe/cms 1.0.0" - qualquer software necessário que precisa de uma versão superior, não é possível trabalhar agora.

Geralmente, se você começar a usar o Compositor, é uma boa ideia para executar composer init no diretório principal do seu software e, em seguida, responder a algumas perguntas sobre o SEU software de forma interativa.

No caso mais básico, você criar um arquivo vazio composer.json, e adicionar um par de chaves e, em seguida, preencher um "exigir" a chave e o software necessário.

O que você NUNCA deve fazer:Copie o compositor.json a partir de qualquer outra pessoa, sem a fixação de todas as questões.Eu não sei o que você fez para pegar sua versão atual, mas eu acho que você provavelmente clonado algum repositório para iniciar seu projeto.Isso não é totalmente errado, mas alguém deve melhorar o fluxo de trabalho, em seguida, para evitar problemas com o Compositor.

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