如何安装具有dev依赖关系的composer包?
例如:
当我有这个包裹时:
https://github.com/spatie/laravel-demo-mode
我跑:
composer require spatie/laravel-demo-mode
未安装测试文件夹?!
答案 0 :(得分:3)
总之,你不(永远)。如果你想贡献,你需要设置新的Laravel项目并设置composer来自动加载你的软件包版本,可以从你的fork或从磁盘上的某个地方。当你这样做时,你只是使用你的软件包版本(再次没有可能运行软件包的测试)。
为了运行包的测试,您需要将目录更改为包的根目录并安装其依赖项($ composer install
),完成后,您可以运行$ phpunit
。< / p>
当我想贡献时,我通常做的是:
packages
个文件夹packages
文件夹中,我通常会$ git clone <repo fork>
(一次可能包含多个包)$ composer install
和$ phpunit
(您的IDE可能会对您的重复定义发出吱吱声,但您可能会忽略它)composer.json 可能如下所示:
...
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/",
"Vendor\\Package\\": "packages/path-to-src/"
}
},
...
您可能会发现有用的示例repo我使用https://github.com/Kyslik/column-sortable-example来演示如何使用我维护的包。主要看一下文件夹结构和 composer.json。
可能有更好的方式来做贡献,但我只找到(并开发)了这个。
如果我的想法有很小的变化(比如拼写错误,或只是返回类型或任何“小”),我会在供应商文件夹中更改包,看看它是否破坏了什么;之后,我在Github的Web界面中分叉包源并编辑更改。要清理,只需从Laravel项目的根文件夹中运行$ composer install/update
。