2012-05-21 28 views
48

Giả sử tôi đang viết một thư viện A, điều đó phụ thuộc vào một thư viện khác, ví dụ như monolog.: Cách tìm phiên bản chính xác của gói?

Tôi muốn cài đặt phiên bản mới nhất của monolog, vì vậy tôi chỉ cần đặt composer.json bên này:

{ 
    "require": { 
     "monolog/monolog": "*.*.*" 
    } 
} 

Sau đó, tôi chạy $ php composer.phar install.

Tôi đã chờ đợi để tìm phiên bản cài đặt, bên composer.lock, nhưng nó không có ở đó:

{ 
    "hash": "d7bcc4fe544b4ef7561918a8fc6ce009", 
    "packages": [ 
     { 
      "package": "monolog/monolog", 
      "version": "dev-master", 
      "source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7" 
     } 
    ], 
    "packages-dev": null, 
    "aliases": [ 

    ], 
    "minimum-stability": "dev", 
    "stability-flags": [ 

    ] 
} 

Tôi cần phiên bản vì tôi muốn để buộc thư viện của tôi đến một tập hợp cụ thể của phiên bản, ví dụ như: Nếu tôi tìm thấy phiên bản là 1.3.5, trong composer.json của tôi, tôi muốn đặt một cái gì đó như thế này:

"require": { 
     "monolog/monolog": "1.3.*" 
    } 

Bất kỳ ý tưởng nào?

Trả lời

-1

Bạn có thể tìm thấy chúng trên github.

Composer hiện đang 1.1.0 https://github.com/Seldaek/monolog/tags

Chỉ cần lấy thẻ bạn nghĩ là cái bạn cần phải có.

+3

Người hỏi muốn biết những gì phiên bản của thư viện đã được cài đặt bởi nhà soạn nhạc trong dự án của mình, không phải là phiên bản mới nhất của thư viện. – aalaap

1

Về mặt kỹ thuật "dev-master" là phiên bản chính xác mà bạn đã sử dụng ở đó. Nó là nhánh phát triển, và do đó là phiên bản mới nhất.

Nơi tốt nhất để tìm kiếm các phiên bản có sẵn cho gói nhà soạn nhạc là Packagist vì đó là nhà soạn nhạc địa điểm tải các phiên bản từ khi bạn cài đặt gói. Các phiên bản monolog được liệt kê trên http://packagist.org/packages/monolog/monolog.

99

Tôi biết đó là một câu hỏi cũ, nhưng ...

composer.phar show 

sẽ hiển thị tất cả các gói hiện cài đặt và thông tin phiên bản của họ. (Điều này đã được thể hiện trong các phiên bản trước của Composer chỉ khi sử dụng bây giờ bị phản đối -i tùy chọn.)

Để xem chi tiết, ghi rõ tên của gói cũng như:

composer.phar show monolog/monolog 

Điều đó sẽ hiển thị nhiều thứ , bao gồm cam kết MD5 băm, URL nguồn, loại giấy phép, v.v.

+9

'php composer.phar show -a' và' php composer.phar show package/name' cũng hữu ích. – bishop

+0

Đối với các gói 'dev-master', điều này rất hữu ích, bởi vì nó cũng hiển thị băm commit. Vì vậy, bạn cần phải đi đến GitHub, tìm hash đó, kiểm tra ngày, và sau đó tìm thấy thẻ với ngày gần nhất trước đó, để thực sự tìm ra những gì "phiên bản" bạn đang sử dụng – andrewtweber

+1

nó cũng có thể được tìm thấy trong composer.lock tập tin. – Hafiz

1

Câu hỏi rất cũ của nó, nhưng thêm câu trả lời để giúp ai đó, bạn cũng có thể kiểm tra trực tuyến bằng cách tải lên composer.josn và composer.lock file

http://www.drcomposer.com

Hy vọng điều này có thể giúp ai đó.

5

Bạn có thể sử dụng nhà soạn chương trình như thế này:

composer show package/name 
+0

Điều này không cung cấp câu trả lời cho câu hỏi. Khi bạn có đủ [danh tiếng] (https://stackoverflow.com/help/whats-reputation), bạn sẽ có thể [nhận xét về bất kỳ bài đăng nào] (https://stackoverflow.com/help/privileges/comment); thay vào đó, [cung cấp câu trả lời không yêu cầu làm rõ từ người hỏi] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-thay thế). - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/17661951) –

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