2010-05-31 5 views
12

누구든지 PHP 용 패키지 관리자 라이브러리를 알고 있습니까 (예 : Linux 배포판의 경우 apt 또는 yum) 번지 PEAR의? 나는 모듈 관리를위한 패키지 관리 시스템을 포함해야하는 시스템에서 일하고있다. 나는 PEAR을 사용하여 작업 솔루션을 얻을 수 있었지만, PEAR 설치를 관리하는 것 이외에 PEAR 클라이언트를 사용하는 것은 그것을 위해 설계되지 않았기 때문에 실제로는 최적의 솔루션이 아닙니다. 수정/확장 (예 : 설치/업그레이드에 대한 작업을 구현하거나 시스템 루트에서 lockfiles와 같은 PEAR 특정 파일을 이동), 특히 CLI 클라이언트 코드가 상당히 엉망이고 PHP4입니다. 그래서 어쩌면 누군가가 몇 가지 제안 사용하고 PHP로 작성된 완전히 다른 패키지 관리 시스템 PHP 패키지 관리자

  • (서버 측 Pirum 및 pearhub 같은 몇 가지 좋은 구현을 가지고) 확장이 용이 대안 PEAR 클라이언트 라이브러리에 대한

    • 있다 내가 아는

    (예, 나는 아직도 처음부터 이러한 시스템을 구현하는 아이디어를 만지고 그러는거야) 같은 PM 시스템을 구현하는 방법을 몇 가지 일반적인 아이디어를

  • (이상적으로 의존성 추적과 다른 채널 포함) 그 큰 자매 Magento와 같은 em과 심포니는 그들의 PM을 위해 PEAR를 사용합니다. Magento는 원본 PEAR 클라이언트의 해킹 된 버전을 사용합니다 (피하기를 원합니다). symfony의 구현은 프레임 워크와 완전히 통합되어있는 것 같지만 클라이언트를 처음부터 작성하는 좋은 시작점이 될 것입니다. 어쨌든, 누군가 제안이 있다면 : please :

  • +1

    학습용으로 사용하는 경우가 아니면 패키지 관리자를 직접 작성하지 않는 것이 좋습니다. 예를 들어, 의존성 관리가 옳은 것은 쉽지 않습니다. – Artefacto

    +0

    재미있는 것을 발견하거나 정말로 새로운 프로젝트를 시작한다면 우리를 최신 상태로 유지하십시오! ;) Btw, 최근에는 "gnope"에 대한 질문을 보았습니다 (sourceforge 참조). 그것을 테스트하지는 않았지만 PEAR과 비슷하지만 재배치 가능한 패키지와 관련된 그래픽 패키지 설치 프로그램 인 것 같았습니다. 그러나 실제로 그것을 체크 아웃하지 않았습니다. – mario

    +0

    아래 제안 사항과는 별도로 symfony가 PEAR 설치 프로그램을 구현 한 것을 보았습니다. PEAR 설치 프로그램은 원래 PEAR 코드를 확장 한 클래스 세트입니다. 라이브러리 상단에 클라이언트 구현을 직접 작성하는 것처럼 보입니다. – maff

    답변

    11

    .

    +0

    감사합니다. 지금가는 길, 그 당시에는 없었습니다. :) – maff

    +0

    작곡가 웹 사이트에서 "Composer는 패키지 관리자가 아닙니다. 예,"패키지 "또는 라이브러리를 다루고 있으며, 프로젝트 당 디렉토리 (예 : 공급 업체)에 설치하여 기본적으로 전역 적으로 설치하지 않으며 따라서 종속성 관리자입니다. " 그것은 미묘하지만 다른 것입니다. (그래도 작곡가는 훌륭합니다.) – JasCav

    +1

    @JasCav 그럼, 프로젝트 수준의 패키지 관리자입니다.) –

    3

    Maven for PHP을 확인 했습니까? 합니다 (그러나 구별 컴파일, 테스트 및 런타임 종속성 -

    • 쉬운 확장 - 그것은
    • 종속성을 관리 메이븐 플러그인을 구현하기 정말 쉬운 : 난 단지 Java 응용 프로그램의 맥락에서 메이븐을 사용했지만, 그것은 확실히이다 컴파일/런타임 distintion은 PHP에서 이해가되지 않는다).
    • 저장소는 설치하기가 쉽다 - mod_dav가있는 아파치는 쓰기 가능한 저장소를 제공하지만, Nexus도 가지고있다.
    • 안정적인 아티팩트와 스냅 샷을 구별합니다. 새 스냅 샷 아티팩트를 확인할시기와 저장소에서 각 유형을 가져 오는 데 필요한 여러 가지 정책을 허용합니다.

    기타 여러 가지가 있습니다.

    +0

    저는 Maven이 지속적인 통합과 관련되어 있다는 것을 알았지 만 매우 강력 해 보입니다. 제안을 주신 덕분에 분명히 시도해 보겠습니다. – maff

    2

    PEAR2/Pyrus 은 임의의 응용 프로그램 용 패키지 관리 용으로 제작 된입니다. 나는 그것이 apt/yum 아키텍쳐를 모델로 만들어 졌다고 믿는다.

    Helgi - 핵심 PEAR 멤버 - 여기의 몇 가지 커버 - http://www.slideshare.net/helgith/pear2-pyrus-the-look-ahead을하지만 문서는 꽤 고체 : 또한 Composer 있습니다 http://pear.php.net/manual/en/pyrus.extending.installation.php

    +0

    PEAR2는 이름 위장염을 앓고있는 것으로 보입니다. 그리고 좋은 것은 아닙니다. – mario

    +0

    저는 Pyrus를 알고 그것을 사용하는 것에 대해 생각했지만, 어떻게 든 당신이 링크 된 문서를 찾지 못했습니다 ... PEAR2 시스템을 사용하는 데 많은 도움이됩니다, 감사합니다. – maff

    +0

    @Mathias 우리의 모든 모듈 관리 문제에 대해 web2project에서 사용하려고합니다. 사물의 종속성 관리 측면을 매우 좋아합니다. – CaseySoftware