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 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

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

3年前 评论

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