2012-05-21 80 views
48

假設我正在編寫一個庫A,它依賴於另一個庫,例如monolog。作曲家:如何找到一個包的確切版本?

我想安裝最新版本的獨白,所以我只是把這個裏面composer.json:

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

然後我跑$ php composer.phar install

我期待找到安裝的版本,裏面composer.lock,但它不存在:

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

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

    ] 
} 

我需要的版本,因爲我想我的圖書館綁在一組特定的版本,例如:如果我發現版本是1.3.5,在我的composer.json中,我想要這樣的東西:

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

任何想法?

回答

-1

你可以在github上找到它們。目前

Composer是在1.1.0 https://github.com/Seldaek/monolog/tags

只要抓住你認爲是你需要有一個標籤。

+3

提問者想知道是由作曲家在他的項目,而不是一個庫的最新版本安裝的是什麼版本的庫。 – aalaap

1

從技術上講,「dev-master」是你最終在那裏使用的確切版本。它是開發分支,因此是最新版本。

查找作曲家套裝可用版本的最佳位置是Packagist,因爲這是作曲家在安裝套裝時加載版本的地方。獨白版本列於http://packagist.org/packages/monolog/monolog

99

我知道這是一個老問題,但...

composer.phar show 

將顯示所有已安裝的軟件包及其版本的信息。 (這表現在使用現在不推薦使用-i選項只有當作曲家的早期版本。)

要了解更多詳細信息,指定包的名稱,以及:

composer.phar show monolog/monolog 

,將顯示很多東西,包括提交MD5哈希,源URL,許可證類型等。

+9

'php composer.phar show -a'和'php composer.phar show package/name'也是有幫助的。 – bishop

+0

對於'dev-master'包,這很有用,因爲它也顯示了提交哈希。所以你需要去GitHub,找到提交哈希,檢查日期,然後找到最近的日期標記,才能真正找出你正在使用的「版本」 – andrewtweber

+1

它也可以在composer.lock中找到文件。 – Hafiz

1

它的一個非常古老的問題,但添加答案,以便它可以幫助某人, 您也可以通過上傳composer.josn和composer.lock文件

http://www.drcomposer.com

希望這可以幫助某人。

5

您可以使用作曲家顯示是這樣的:

composer show package/name 
+0

這不提供問題的答案。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將可以[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/17661951) –