2015-04-01 163 views
1

好吧,我正在使用Yii2,我正在嘗試向項目中添加新的需求/庫。所述庫可以在這裏找到:https://github.com/cyphix333/SBBCodeParser作曲家無法在Yii2 composer.json中找到新的需求包

這是一個分叉的項目,增加了一個composer.json

我嘗試添加它作爲項目主要作曲文件的要求,即:

"require": { 
    //.......... 
    "samclarke/sbb-code-parser": "*" 
}, 

然後我跑:

composer update 

它只是抱怨說,找不到包或它的任何版本。

然後我刪除該行並嘗試:

require samclarke/sbb-code-parser 

我已經有文件在我的Yii vendor文件夾位於:@app/vendor/samclarke/sbb-code-parser

我很新的作曲家,我不知道我做錯了或者作曲家實際上應該知道從哪裏獲取基於包名的文件。

回答

0

包裝samclarke/sbb-code-parser可以在Packagist找到。 https://packagist.org/packages/samclarke/sbb-code-parser

默認情況下,Composer會嘗試解析stable套軟件包。 但是這個軟件包沒有提供穩定的版本(版本標籤),但是 - 只有dev-master版本存在。作曲家無法解決它。 爲了要求它,你需要降低這個包到開發的最低穩定性。

您可以爲一個包明確地做到這一點:通過設置

"require": { 
    "samclarke/sbb-code-parser": "[email protected]" 
}, 

或所有包:

"minimum-stability": "dev" 

cyphix333/SBBCodeParser不上Packagist。 這是一個私人叉子。如果你想要這個代碼。您可以將repositories部分添加到您的composer.json中,並使用url添加回購,並在其中添加vcs。然後,Composer可以通過Github從VCS存儲庫加載軟件包。這說明如下:https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository

這將這樣的工作:

{ 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "https://github.com/cyphix333/SBBCodeParser" 
     } 
    ], 
    "require": { 
     "samclarke/sbb-code-parser": "dev-master" 
    } 
} 

但不幸的是,叉也沒有得到很好的維護,並且不包含有效composer.json文件。

[Composer\Repository\InvalidRepositoryException] 
No valid composer.json was found in any branch or tag of https://github.com/cyphix333/SBBCodeParser, could not load a package from it. 

這需要先固定....

+0

延喜......非常感謝您的信息。我不知道它需要在packagist上,儘管我*想知道作曲家如何知道在哪裏找到這些文件。是的,我想在'cyphix333'分叉處的github上創建代碼,因爲我認爲它是另一個,因爲你說的沒有被維護,所以我更新了它並創建了作曲文件。但是您上面的陳述似乎表明'cyphix333'回購中沒有一個? – Brett 2015-04-01 17:53:18

+0

有一個,但它是無效的。試着運行'composer install -vvv',你會看到Composer試圖獲取什麼。作曲家文件是這些東西之一,但需要一些調整..我不知道它是什麼,也許它是重複的包名稱。 Try'n'error:用'cyphix333/SBBCodeParser'替換'samclarke/sbb-code-parser'並提交,然後再次嘗試安裝。 – 2015-04-01 18:02:42

+0

我是否在我的主項目目錄或包含有亂碼作曲文件的包目錄中運行此'composer install -vvv'命令? – Brett 2015-04-01 18:11:28