2013-03-10 30 views
6

Tình huống: Tôi đang làm việc với Symfony 2.2. Trong danh sách các gói yêu cầu của tôi cũng là một trong các kho chứa github của tôi, hãy gọi nó là "TestLib".Làm thế nào để sao chép kho lưu trữ với Composer mà không có --prefer-source? (sử dụng Symfony 2)

Tôi biết rằng tôi có thể xác định url github làm kho bổ sung trong composer.json của Symfony để tải xuống "TestLib" thông qua Composer từ Github.

Sự cố: Tôi không thể cam kết lưu trữ "TestLib" vì không có thư mục .git cục bộ trong thư mục "TestLib". Tôi đoán nhà soạn nhạc đang tìm nạp một zip từ Github và không nhân bản nó.

Vì vậy, câu hỏi của tôi là: có cách nào để xác định trong composer.json của Symfony rằng Composer nên sao chép TestLib?

Câu hỏi 2: Có thể quy trình làm việc của tôi sai - vì vậy nếu bạn cũng có trường hợp này - bạn xử lý điều này như thế nào?

+0

Tại sao bạn loại trừ nguồn --prefer làm giải pháp khả thi? – Gerry

+1

Tôi chỉ gặp vấn đề này sau khi tìm kiếm một vấn đề mà tôi đang gặp phải. Tôi đoán là tác giả không muốn lấy nguồn cho tất cả mọi thứ, nhưng chỉ cho TestLib vì đây là vấn đề tôi đang gặp phải. Wow, sẽ trả lời một câu hỏi chỉ để tìm ra bạn là người hỏi nó một tháng trước, đó là một số stackInception – Gerry

Trả lời

12

Thêm @dev vào phiên bản gói cũng sao chép kho lưu trữ.

{ 
    "require": { 
    'package': '*@dev' 
    } 
} 

Cũng có thể thiết lập source như sở thích trong composer.json

{ 
"config": { 
    "preferred-install": "source" 
} 
} 
+0

xóa trước tiên, cập nhật trình soạn nhạc, chạy lại 'trình soạn nhạc ' – Ruben

12

Điều tôi thường làm nếu tôi nhận thấy rằng nhà cung cấp có vấn đề là rm -rf vendor/foo/bar để xóa nó và sau đó tôi chạy composer install --prefer-source để lấy lại dưới dạng repo git.

+0

freaking nhưng sau đó bạn nhận được tất cả các gói như một nguồn, chúng ta cần một cách để xác định perfer-source trên một gói duy nhất được thêm vào phần yêu cầu của composer.json – malhal

0

Những gì tôi đã làm là thêm repo github của tôi để packagist.org sau đó tôi đã này:

composer require malhal/createdby dev-master --prefer-source 

này xuất hiện để thêm dòng yêu cầu vào composer.json và cũng nhận được nó như là một repo git, tiếc là điều này chỉ hoạt động một lần vì vậy nếu bạn sẽ không thể tái sử dụng composer.json cho một i mới nstall và sẽ cần phải xóa dòng yêu cầu và sau đó nhớ để làm điều này cùng một lệnh một lần nữa. Lệnh này cũng tải xuống repo git bạn không phải làm một bản cập nhật nhà soạn nhạc khác.

Các vấn đề liên quan