문제

SilverStripe 모듈 "Sheadawson / SilverStripe-Blocks dev-master"를 사용하고 싶습니다.작곡가와 함께 설치하면 Multivaluefield와 Fort와 같은 일부 모듈을 설치해야했습니다.나는 그들을 문제없이 설치했다.이제 다음 터미널 출력을 얻습니다.

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

3.1. 의존성은 3 가지 가능한 버전으로 이어진다.그러나 CMS의 1.0.0 버전은이 버전에 대한 의존성이 없기 때문에 나에게 약간 얽히게됩니다.

버전 3.1.2를

로 설치하려고 할 때

composer require silverstripe/cms 3.1.2
.

다음과 같은 출력을 얻습니다.

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

My Composer.json 파일의 내용은 다음과 같습니다.

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

CMS의 버전 1.0.0 버전을 설치하려는 이유를 누구든지 알고 있습니까?나는 이미 모든 모듈을 제거하고, composer.json을 청소하고, composer.lock, 작곡가 업데이트 및 내 마음에 오는 다른 모든 것들을 제거했습니다.

도움이 되었습니까?

해결책

composer.json은 자신의 소프트웨어가 아닌 해당 CMS의 파일 인 것처럼 보입니다.

그리고 그 경우, 작곡가가 혼란스러워한다는 것은 놀라지 않습니다. 그 composer.json에서는 "SilverStripe / CMS"가 소프트웨어입니다. 소프트웨어를 버전 1.0.0으로 태그 지정한 경우 "SilverStripe / CMS 1.0.0"- 더 높은 버전이 필요한 필수 소프트웨어는 지금 작업 할 수 없습니다.

일반적으로 Composer를 사용하기 시작하면 소프트웨어의 기본 디렉토리에서 composer init를 실행 한 다음 소프트웨어에 대한 몇 가지 질문에 대화식으로 답변하는 것이 좋습니다.

가장 기본적인 경우 빈 파일 composer.json를 생성하고 쌍의 중괄호를 추가 한 다음 "필요"키와 필요한 소프트웨어를 채우십시오.

결코 할 수없는 것 : 모든 문제를 해결하지 않고 다른 누구와도 Composer.json을 복사하십시오. 현재 버전을 잡아야 할 일을 모르지만 프로젝트를 시작하기 위해 일부 저장소를 복제 할 것 같습니다. 그것은 완전히 잘못된 것이 아닙니다. 그러나 누군가는 작곡가와 문제가 발생하지 않도록 워크 플로를 개선해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top