programing

작곡가 "경로" 리포지토리가 작동하도록 가져올 수 없습니다.

newsource 2023. 2. 11. 09:28

작곡가 "경로" 리포지토리가 작동하도록 가져올 수 없습니다.

디렉토리 구조는 다음과 같습니다.

composer.json < Main
  packages/
    balunker/
      testpackage/
        composer.json < Package
        src/
          TestPackage.php

★★★composer.json음음음같 뭇매하다

{
    "name": "vagrant/composer-test",
    "repositories": [
        {
             "type": "path",
            "url": "packages/*/*"
        }
    ],
    "require": {
        "balunker/testpackage": "*"
    }
}

가 「」인 .composer.json것 같아요.

{
  "name": "balunker/testpackage",
  "autoload": {
    "psr-4": {
      "Balunker\\": "src/"
    }
  }
}

온에 composer update패키지가 해결되지 않았다는 메시지를 받을 뿐입니다.심볼 링크가 생성되지 않고 패키지도 설치되지 않습니다.난 말 그대로 하루의 절반을 이걸 알아내는데 보냈지만 아무런 성과도 없었다.

★★★★★★★★★★★★도 올렸습니다.composer update -vvv자세한 출력: http://pastebin.com/mMRHsACk

나의 작곡가 버전은 최신 버전(2016년 4월 20일 오후 2시 39분 UTC 기준)이며, 이 모든 것이 Vagrant(데비안) 내에서 실행됩니다.

앞으로 어떤 추천도 감사하게 생각합니다.더 이상 어떻게 해야 할지 모르겠어요.

저도 Github에 문제를 올렸는데, 문서가 조금 오해의 소지가 있더군요.다음과 같이 되어 있습니다.

{
    "repositories": [
        {
            "type": "path",
            "url": "../../packages/my-package"
        }
    ],
    "require": {
        "my/package": "*"
    }
}

단, 릴리스가 없는 로컬 repo만 있는 경우 다음을 사용해야 합니다.

{
    "repositories": [
        {
            "type": "path",
            "url": "../../packages/my-package"
        }
    ],
    "require": {
        "my/package": "dev-master"
    }
}

''dev-master(마스터 브랜치로 작업하고 있는 것을 고려하면) 이 열쇠입니다.이것은 약간 화가 났지만, 몇몇 도움이 되는 작곡가 기고자들 덕분에, 나는 마침내 이것을 이해할 수 있었다.

가 해결하는데 이 된 것은 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★.composer clear-cache 후 를 실행합니다.composer update

설명:처음에 하려고 했는데composer install my/package이치노그래서 Larabel 6.0에서 작동하도록 로컬에서 수정이 필요했습니다. 때문에, 저장소가 을 알 수 있었습니다.repositories를 누르다"type": "path"에 그 하고 올바른master 는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★.dev-master 집에서는composer.json한 후 문제 없이 컴포저 캐시를 클리어하고 업데이트를 실행하면 의존관계 문제가 없는 로컬 경로를 사용하여 업데이트가 되었습니다.

"repositories": [
    {
        "type": "path",
        "url": "../libs/package-name"
    }
],
"require-dev": {
    "pkg-maintainer/package-name": "dev-master"
}

문제는 저장소 폴더를 도커에 마운트하는 것을 잊어버려서 로컬 웹 서버가 연결할 수 없다는 것이었습니다.그것도 신경 써주세요

나에게 효과가 있었던 것은 위와 매우 비슷했지만, 나는 특별히 내가 개발하고 있는 지점을 목표로 하지 않으면 안 되었다.

/app과 같은 수준의 /newapp 디렉토리에 있는 코드와 feature/the-new-package라는 이름의 브랜치를 가정하면 다음과 같습니다.

"repositories": [
  {
    "type": "path",
    "url": "newapp"
  }
],
"require": {
  "package/newapp": "dev-feature/the-new-package"
},

\*는 동작하지 않았고 dev-master도 동작하지 않았습니다.개발 기능/새로운 패키지여야 했습니다.

향후 구글을 이용하실 경우 고객님의 버전을composer.json그 후, 패키지가 필요합니다.--prefer-source선택.

예를 들어 다음과 같습니다.composer require your-vendor/package:1.0.* --prefer-source

패키지가 원래 저장소에서 이미 설치되어 있는 경우 Composer는 로컬 repo를 가져오고 composer.json에서 composer.lock을 새로 고쳤지만 벤더 디렉토리로 변경 내용을 가져오려고 시도하지도 않습니다.

먼저 제거하면 다음과 같은 문제가 해결되는 것 같습니다.

composer remove foo/bar
composer require foo/bar @dev

이 경우 저장소 우선순위가 문제였습니다.「컴포저가 의존관계를 해결하면, 지정된 패키지가 최상위 저장소에서 검색됩니다」.https://getcomposer.org/doc/articles/repository-priorities.md TLDR을 체크합니다.composer.json에서는 로컬 경로가 먼저 respository 아래에 있는지 확인합니다.

"repositories": [
    {
         "type": "path",
         "url": "packages/local-path-goes-first"
    },
    {
         "type": "vcs",
         "url": "https://github.com/berrugo/other-repos"
    }
],

언급URL : https://stackoverflow.com/questions/36745691/cant-get-composer-path-repository-to-work