[英]Custom package installation path in Composer?
是否可以指定Composer中我們自己的包安裝到與vendor/
不同的文件夾中。 我知道我可以指定一個安裝所有軟件包的文件夾,但這不是我想要的。 我希望第三方軟件包最終出現在vendor/
和我們自己的src/
文件夾中。
這可能嗎? 如果重要,我們正在使用Symfony 2。
您應該自己制作安裝程序: http : //getcomposer.org/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md並使用自己的installer-paths
我已經實現了這個作曲家插件來將軟件包安裝到用戶(自定義)定義的文件夾中,你可以將它包含在你的composer.json中,按照示例告訴我你是否還有更多問題:)
https://github.com/mnsami/composer-custom-directory-installer
一個composer插件,用於在vendor
文件夾中的默認編寫器默認安裝路徑之外的自定義目錄中安裝不同類型的編寫器包。
這不是另一個用於支持非作曲家包類型的composer-installer
庫,即application
等。這只是為了增加在供應商文件夾之外安裝作曲家包的靈活性。 這個包只支持composer
包類型,
https://getcomposer.org/doc/04-schema.md#type
包的類型。 它默認為庫。
包類型用於自定義安裝邏輯。 如果您的軟件包需要一些特殊邏輯,則可以定義自定義類型。 這可能是symfony-bundle,wordpress-plugin或typo3-module。 這些類型都將特定於某些項目,並且需要提供能夠安裝該類型的包的安裝程序。
composer.json
require
部分:: "require":{
"php": ">=5.3",
"mnsami/composer-custom-directory-installer": "1.1.*",
"monolog/monolog": "*"
}
extra
部分中定義要安裝到的程序包的自定義目錄:: "extra":{
"installer-paths":{
"./monolog/": ["monolog/monolog"]
}
通過添加installer-paths
部分,您告訴作曲家在根目錄中的monolog
文件夾中安裝monolog
包。
composer/installers
,換句話說,您可以在installer-path
部分中使用{$vendor}
和{$name}
等變量: "extra": {
"installer-paths": {
"./customlibs/{$vendor}/db/{$name}": ["doctrine/orm"]
}
}
以上將設法在customlibs
下的項目的根文件夾中安裝doctrine/orm
包。
Composer type: project
此安裝程序不支持該type: project
,因為類型為project
包只能與symfony/framework-standard-edition
等應用程序shell一起使用,這是另一個包所需要的。
如果仍然考慮測試我的庫(基於mina.nsami的插件):
https://github.com/ideaconnect/composer-custom-directory
允許自定義路徑:
"extra":{
"installer-paths":{
"./monolog/": ["monolog/monolog"]
}
甚至動態名稱替換:
"extra": {
"installer-paths": {
"./packages/{$name}": ["sourcepackage/package_A","sourcepackage/package_B","sourcepackage/package_B"]
}
},
並使用標志鏈,允許在運行時簡單地操作變量:
目前支持的標志是:
F - capitalizes first letter.
P - changes all entries of a _ or - followed by a character to only that character, capitalized.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.