Composer 自定义 package 包安装路径

学习中找到的一篇文章,就随手翻译了一下,希望有帮助。

原文

地址:https://getcomposer.org/doc/faqs/how-do-i-...

译文

每个框架可能需求有一个或多个安装路径不同的依赖包。通过使用composer/installers,Composer能够把包安装到除vendor外的其他文件夹里面。

如果你是包的作者,并且你想把包安装到指定路径,最简单的办法就是require composer/installers 并且设置合适的type 属性。对于类似CakePHP,Drupal 和 WordPress等框架,这是非常普通的需求。下面以WordPress主题的一个composer.json文件为例:

{
    "name": "you/themename",
    "type": "wordpress-theme",
    "require": {
        "composer/installers": "~1.0"
    }
}

当使用Composer安装这个主题时,将会安装到wp-content/themes/themename/文件夹中。目前直接类型,请点击查看

使用额外的installer-paths配置,自定包可以定义或重写依赖包的安装路径。一个有用的例子,Drupal配置多站点时,需要将包安装到站点的子目录中。现在,我们使用compser/installers为模块重写安装路径:

{
    "extra": {
        "installer-paths": {
            "sites/example.com/modules/{$name}": ["vendor/package"]
        }
    }
}

现在,依赖包就不会安装在composer/installers指定的位置,而是安装到你指定的文件位置中了。

本帖已被设为精华帖!
本帖由 Summer 于 7年前 加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

这个包跟wikimedia/composer-merge-plugin最大的区别是什么呢?

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!