簡體   English   中英

具有dev依賴項的Composer安裝包

[英]Composer install package with dev dependencies

如何安裝具有dev依賴項的composer包?

例如:

當我有這個包裹時:

https://github.com/spatie/laravel-demo-mode

我跑:

composer require spatie/laravel-demo-mode

沒有安裝tests文件夾?!

總之,你不(永遠)。 如果您想貢獻,您需要設置新的Laravel項目並設置composer以自動加載您的軟件包版本, 可以從您的分支或 磁盤上的某個位置。 當你這樣做時,你只是使用你的軟件包版本(再次沒有可能運行軟件包的測試)。

為了運行包的測試,你需要將目錄更改為包的根目錄並安裝其依賴項( $ composer install ),完成后你可以運行$ phpunit


當我想貢獻時,我通常做的是:

  • 准備好空Laravel項目(無版本)
  • 在root中有packages文件夾
  • 在那個packages文件夾中我經常做$ git clone <repo fork> (它可能同時有多個包)
  • 如果我想運行包的測試我做$ composer install$ phpunit (你的IDE可能會$ phpunit你的重復定義,但你可能會忽略它)
  • 改進並測試package文件夾中的包的代碼
  • 立即在Laravel項目上“實時”測試您的更改

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM